Ajax เป็นเทคโนโลยีที่ทำให้เว็บของเรามีชีวิตชีวามากขึ้น กว่าเว็บที่เราเคยใช้กัน เดิมทีเว็บที่เราเขียนด้วย HTML มันแก้ไขอะไรไม่ได้เลย เปิดมากี่ทีๆ ก็เหมือนเดิมตลอด ให้มีชีวิติชีวากว่านั้นก็อาจจะใช้ CGI หรือ PHP มาช่วยก็ทำให้หน้าเว็บที่เปิดมาเปลี่ยนแปลงไปได้ตามข้อมูลที่เราให้ ( + อื่นๆ ) เพื่อเพิ่มชีวิตชีวามากกว่านั้นเรายังสามารถใช้ Javascript ที่ทำให้หน้าเว็บเปลี่ยนแปลงไปได้ต่อหน้าต่อตาโดยไม่ต้อง load หน้าใหม่เลย

… ทว่า อย่างไรก็ตาม การใช้ javascript ก็ยังจำกัดอยู่เนื่องจากไม่สามารถไปเรียกข้อมูลจาก server ได้ … ดังนั้น Ajax จึงมีบทบาทในการช่วยใช้ javascript บน web browser เช่น IE และ Firefox แลกเปลี่ยนข้อมูลกับ web server ได้ และแก้ไขหน้าเว็บเดี๋ยวนั้นโดยไม่ต้อง load หน้าใหม่

ปกติรูปแบบข้อมูลที่ใช้ในการแลกเปลี่ยนข้อมูลของ Ajax ก็คือ XML แต่กระนั้นเราก็ต้องมีท่าต่างๆ นานาเพื่อใช้ในการจัดการ xml อีก จะดีกว่าหรือไม่ถ้าหากเราส่งผ่าน data structure แบบพื้นฐานเช่น array และ hash จาก server มาที่ javascript ทางฝั่ง client ได้เลย

ถ้าหากการส่ง array และ hash ไปมาระหว่าง server และ javascript ฝั่ง client สะดวกแล้วหละก็ JSON ก็น่าจะเรียกได้ว่าใช่เลย สมมุติว่าเราต้องการส่งรายชื่อคนผ่าน XML เรา *อาจจะ* ต้องเขียน

<presonlist>  <person> <firstname>กอ</firstname> <lastname>นามสมมุติ</lastname> </person>  <firstname>ธี</firstname> <lastname>นามจริง</lastname> <person> </person> ... ... </personlist>

ตัวอย่างที่ 1

ถ้าเป็น JSON ก็จะใช้ [ ] แทน Array และ { } แทน Hash ( หรือ Associative array ) ก็อาจจะเขียนได้แบบข้างล่าง

[     {"firstname":"กอ", "lastname":"นามสมมุติ"},     {"firstname":"ธี", "lastname":"นามจริง"},    ]

ตัวอย่างที่ 2

ตัวอย่างอาจจะดูลำเอียง ( และชวนเชื่อไปหน่อย ) แต่ว่าก็น่าจะพอทำให้เห็นภาพบ้าง😛

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

// สมมุติว่า json data เป็นไปตามตัวอย่างที่ 2 var personList = eval('(' + json_data + ')'); // เราก็เอา personList มาเล่นได้เลย alert(personList.firstname);

ตัวอย่างที่ 3

อาจจะมีข่าวลือที่เสียหายเกี่ยวกับ JSON ว่านำไปใช้กับภาษาอื่นที่ไม่ใช่ Javascript ไม่ได้ ซึ่งมันไม่ค่อยจะจริงนัก เพราะว่ามี library สำหรับภาษาต่างๆ ที่ใช้กับ JSON มากมาย หรือต่อให้ไม่มี library พวกนั้นเราก็คงเขียนเองได้อยู่ดี😛

สรุปว่าถ้าใช้ Ajax แล้ว JSON ก็อาจจะเป็นตัวเลือกในการส่งข้อมูลระหว่าง web browser และ web server ที่ดีตัวนึง ทั้งขาไปและขากลับ ที่สำคัญคือมันง่าย นอกจากนั้น JSON อาจจะเอาไปใช้ในงานๆ อื่นๆ ที่ไม่ได้ใช้ Ajax หรือ Javascript เลยก็ได้


  1. อ่านเรื่อง Ajax ต่อ
  2. อ่านเพิ่มเติม JSON

ขอบคุณคุณ bact ที่แนะนำเรื่อง Ajax และสาระน่าสนใจมาตลอด ( โดยผ่าน blog )