JSON กับ Web2.O


200924 May

บทความวันนี้เป็นการแนะนำเวบไซต์ E-commerce ในต่างประเทศที่เค้าใช้ เทคนิคการทำเวบ web2.0 ได้ค่อนข้างดีการ present สินค้าในเวบไซต์และเทคนิคต่าง ๆ มีให้เห็นใน เวบนี้ อย่างการใช้ JSON ซึ่งทำออกมาได้เนียนมากในหน้า Search สินค้าและหน้าอื่น ๆ หรือในหน้า product detail ของเวบก้อเช่น ลองเข้าไปดูที่ตาม link นี้
http://www.endless.com/
ลองเค้าไปเล่นดูอืมถ้าใครใช้ Firebug Extension ของ Firefox แล้วลองเล่นใน mode "console" จะได้เห็น การใช้เทคนิค JSON ในการ return ที่ Associative array หรือ hash data ค่าออกมาแทนการ return ออกเป็น HTML แล้วทำการ inner ใน id เนี้ยล่ะที่เรียกว่า JSON คงพอเห็นภาพกัน เกริ่นมาตั้งนานบ้างท่านอาจจะยังไม่ทราบว่า JSON คืออะไร
ลองเข้าไปอ่านhttp://en.wikipedia.org/wiki/JS
หรือลองไปอ่านที่ http://veer.exteen.com/20060110/ajax-json
ปกติรูปแบบข้อมูลที่ใช้ในการแลกเปลี่ยนข้อมูลของ Ajax ก็คือ XML แต่กระนั้นเราก็ต้องมีท่าต่างๆ นานาเพื่อใช้ในการจัดการ xml อีก จะดีกว่าหรือไม่ถ้าหากเราส่งผ่าน data structure แบบพื้นฐานเช่น array และ hash จาก server มาที่ javascript ทางฝั่ง client ได้เลย ถ้าหากการส่ง array และ hash ไปมาระหว่าง server และ javascript ฝั่ง client สะดวกแล้วหละก็ JSON ก็น่าจะเรียกได้ว่าใช่เลย สมมุติว่าเราต้องการส่งรายชื่อคนผ่าน XML เรา *อาจจะ* ต้องเขียน

XML Format
<presonlist>

<person>
<firstname>กอ</firstname>
<lastname>นามสมมุติ</lastname>
</person>

<firstname>ธี</firstname>
<lastname>นามจริง</lastname>
<person>
</person>
...
...
</personlist>
ถ้าเป็น JSON ก็จะใช้ [ ] แทน Array และ { } แทน Hash ( หรือ Associative array ) ก็อาจจะเขียนได้แบบข้างล่างซึ่งทำให้ลดจำนวนการ return response time ของการ Request.

[
   {"firstname":"กอ", "lastname":"นามสมมุติ"},
   {"firstname":"ธี", "lastname":"นามจริง"},  
]
ตัวอย่างอาจจะดูลำเอียง ( และชวนเชื่อไปหน่อย ) แต่ว่าก็น่าจะพอทำให้เห็นภาพบ้าง :-P

และประโยชน์สูดสุดของ JSON ก็คือ สามารถ อ่านได้โดย eval คำสั่งเดียวหากใช้ javascript เช่น

// สมมุติว่า json data เป็นไปตามตัวอย่างที่ 2
var personList = eval('(' + json_data + ')');
// เราก็เอา personList มาเล่นได้เลย
alert(personList.firstname);
ข้อมูลบ้างส่วนมาจากเวบ http://veer.exteen.com/20060110/ajax-json



ลักษณะการ Return ค่า

   null;
 /* !eval(new String('('+this.header('X-JSON');)) */

{"qid":"1243139119644","numResults":"7663","bins":[{"size":"0","name":"1.4.3. Girl"},{"size":"7","name"
:"1803"},{"size":"0","name":"180s"},{"size":"5","name":"7 for all mankind"},{"size":"7","name":"80%20"
},{"size":"24","name":"A. Marinelli"},{"size":"6","name":"A.B.S by Allen Schwartz"},{"size":"1","name"
:"A.Testoni"},{"size":"0","name":"ACORN"},{"size":"0","name":"adidas"},{"size":"0","name":"adidas Originals"
},{"size":"0","name":"Adio"},{"size":"37","name":"Aerosoles"},{"size":"0","name":"Aetrex"},{"size":"82"
,"name":"AK Anne Klein"},{"size":"3","name":"Alberto Fermani"},{"size":"7","name":"Alessandro Dell'Acqua"
},{"size":"2","name":"Alexandra Neel"},{"size":"27","name":"ALL BLACK"},{"size":"0","name":"Allrounder
 by Mephisto"
},{"size":"0","name":"Alpro"},{"size":"38","name":"Amalfi by Rangoni"},{"size":"0","name"
:"Amy Jo Gladstone"},{"size":"51","name":"Anne Klein New York"},{"size":"68","name":"Annie"},{"size"
:"14","name":"Apepazza"},{"size":"36","name":"Aquatalia by Marvin K."},{"size":"0","name":"Aquaz"},{"size"
:"41","name":"ARA"},{"size":"20","name":"Arche"},{"size":"0","name":"Ariat"},{"size":"22","name":"Arturo
 Chiang"
},{"size":"6","name":"ASGI"},{"size":"1","name":"Ash"},{"size":"0","name":"Aussie Dogs"},{"size"
:"0","name":"Australia Love Collective"},{"size":"0","name":"Avia"},{"size":"0","name":"Azura"},{"size"
:"16","name":"Badgley Mischka"},{"size":"0","name":"Badgley Mischka Platinum"},{"size":"0","name":"Baffin"
},{"size":"28","name":"BALLY"},{"size":"62","name":"Bandolino"},{"size":"9","name":"Banfi Zambrelli"
},{"size":"0","name":"Barbo"},{"size":"11","name":"Barefoot Tess"},{"size":"0","name":"Bass"},{"size"
:"0","name":"Bastien"},{"size":"12","name":"BC Footwear"},{"size":"24","name":"BCBG MAX AZRIA"
ที่นำเสนอเพียงต้องการนำเสนอ idea ในการทำเวบไซต์และการใช้เทคนิคต่าง ๆ ในการสร้างเวบไซต์ของเรา ถึงจะทำไม่ได้ขนาดนั้นแต่เราก้อมีรู้ว่ามีเทคนิคที่ดี ทำให้เราได้ idea มากขึ้นรู้มากขึ้นจริงไหมคับ

หมวดหมู่สินค้า

ขายหูฟัง Sennheiser CX500, Sennheiser CX300 , Sennheiser MM50, Monster Beats , Bose in ear
รับ Preorder หูฟังจากต่างประเทศ

Earphone
(20)

รวม หูฟังทุกรุ่นต่าง ๆ ใน Shop

Sennheiser
(7)

ขาย หูฟัง Sennheiser CX500,ขาย หูฟัง Sennheiser CX300, ขาย หูฟัง Sennheiser MM50

AKG
(3)

หูฟัง AKG ใน Shop

Creative
(1)

หูฟัง Creative ใน shop

DIY
(4)

DVD และ VCD การสอนต่างๆและเรียนรู้ต่างๆด้วยด้วยตัวเอง

Bose
(1)

รวมหูฟังยี่ห้อ Bose

Bluetooth stereo
(5)

รวมหูฟัง อุปกรณ์ บูลทูธ ต่าง ๆ
และ หูฟังบูลทูธสเตอริโอสำหรับฟังเพลง

Finger Style Guitar
(7)

รวม DVD แนวเพลง Finger Style Guitar ต่างๆ

fingerstyle
(3)

DVD และ VCD เพลงแนว Finger Style Guitar

Tommy Emmanuel
(3)

รวมงานเพลง Tommy Emmanuel
แนว Finger Style Guitar

pair bluetooth
(1)

วิธีการ Pair อุปกรณ์ Bluetooth ต่าง ๆ

SMF
(2)

บทความและความรู้ด้านการพัฒนาเว็บไซต์

css
(11)

บทความเกี่ยวกับ CSS, เทคนิคต่าง ๆในการใช้ CSS เรียนรู้การแก้ไขต่าง ๆ

css hack
(4)

บทความเกี่ยวกับ CSS, เทคนิคในการปัญหา cross browser ในการแสดงผลของ browser ที่แตกต่าง ๆ กัน

drupal
(12)

บทความเกี่ยว Drupal แนะนำการใช้งาน Drupal และเทคนิคต่างๆในการใช้งาน

javascript
(13)

บทความเกี่ยว Javascript แนะนำการใช้งานวิธีแก้ไขต่างๆ

JSON
(1)
php
(4)
SEO
(3)
Web Tools
(3)

แนะนำเครื่องมือสำหรับพัฒนาเวบไซต์

Who's online

There are currently 0 users and 5 guests online.

ขายหูฟัง Sennheiser CX500, Sennheiser CX300 , Sennheiser MM50, Monster Beats , Bose in ear
รับ Preorder หูฟังจากต่างประเทศ

หน้าแรก Shop
(41)

หน้าแรกของ Shop