JSON

JSON 

JSON หรือ Java Script Object Notation เป็นวิธีการที่ทำให้ JavaScript แลกเปลี่ยนข้อมูลกับ Server ได้อย่างง่ายดายครับ
รูปแบบของ JSON นั้น อาจทำให้หลายๆ ท่านงงกับมันไม่มากก็น้อยล่ะครับ เช่น บางครั้งทำไมใช้ [] บางครั้งใช้ {} มันมีเหตุผลอะไร มีความหมายอย่างไร
ถ้าจะให้อธิบายรูปแบบเป็นประโยคก็คือ JSON ถูกสร้างขึ้นจากชุดข้อมูลของ literal object notation ใน javascript JSON จะใช้ [] แทน array และใช้ {} แทน hash (หรือ associate array ) แต่ละสมาชิกคั่นด้วย comma (,) และแต่ละ ชื่อสมาชิกคั่นด้วย colon (:)
ยัง งงๆ กันอยู่ใช่มั้ยล่ะครับ
ก่อนอื่นผมอยากให้ท่านมอง JSON ว่าเป็น Array ซะก่อนครับ ซึ่งจริงๆ แล้ว มันก็มีความคล้ายกันอยู่มาก
ลองดูความแตกต่างระหว่าง JSON กับ Array ดูครับ
JSON
var ekanan = {
               "firstName": "เอกนันท์",
               "lastName": "ขันทอง",
               "address":
                         {
                          "streetAddress": "พระราม2",
                          "city": "กรุงเทพฯ",
                          "postalCode": "10150"
                         },
               "phoneNumbers":
                              [
                               "085-123-4567",
                               "02-555-4567"
                              ]
              }
Array
$ekanan = Array(
                "firstName"=>"เอกนันท์",
                "lastName"=>"ขันทอง",
                "address" =>
                            Array(
                                  "streetAddress"=>"พระราม2",
                                  "city"=>"กรุงเทพฯ",
                                  "postalCode"=>"10150"
                                 ),
                "phoneNumbers"=>
                            Array(
                                  "085-123-4567",
                                  "02-555-4567"
                                 )
               )
เมื่อเอามาเปรียบเทียบกันแล้ว รูปแบบนั้นมีความคล้ายคลึงอยู่มาก หลายท่านคงสังเกตุเห็นกันแล้วว่า เราจะใช้ {} ตอนไหน และใช้ [] เมื่อใด
อย่างที่กล่าวมาข้างต้นครับ “JSON จะใช้ [] แทน array และใช้ {} แทน hash (หรือ associate array)”
พูดภาษาชาวบ้านก็คือ
เราจะใช้ {} (ปีกกา) ต่อเมื่อมี Key จับคู่ Value เช่น Array(“streetAddress”=>”พระราม2″,”city”=>”กรุงเทพฯ”,”postalCode”=>”10150″)
และจะใช้ [] (ก้ามปู) ต่อเมื่อไม่มี Key จับคู่ Value เช่น Array(“พระราม2″,”กรุงเทพฯ”,”10150″)
วิธีการใช้ JSON ก็ง่ายๆ ครับ
//นำชุดข้อมูล JSON มาเข้า function eval
var data = eval( '(' + RemoveChar(ajax.responseText) + ')' );
//วิธีอ้างถึงข้อมูล ก็ง่ายๆ ครับ
data.firstName                   จะมีค่าเท่ากับ เอกนันท์
data.address.streetAddress       จะมีค่าเท่ากับ พระราม2
data.phoneNumbers[0]             จะมีค่าเท่ากับ 085-123-4567
data.phoneNumbers[1]             จะมีค่าเท่ากับ 02-555-4567
***ท่านสามารถใช้คำสั่ง json_encode() ใน php เพื่อแปลง array ให้เป็น json ได้ ตัวอย่างเช่น
<?php
$arr  = Array(
                "firstName"=>"เอกนันท์",
                "lastName"=>"ขันทอง",
                "address" =>
                            Array(
                                  "streetAddress"=>"พระราม2",
                                  "city"=>"กรุงเทพฯ",
                                  "postalCode"=>"10150"
                                 ),
                "phoneNumbers"=>
                            Array(
                                  "085-123-4567",
                                  "02-555-4567"
                                 )
               );
echo json_encode($arr);
?>
ผลที่ได้..
              {
               "firstName": "เอกนันท์",
               "lastName": "ขันทอง",
               "address":
                         {
                          "streetAddress": "พระราม2",
                          "city": "กรุงเทพฯ",
                          "postalCode": "10150"
                         },
               "phoneNumbers":
                              [
                               "085-123-4567",
                               "02-555-4567"
                              ]
              }

Comments

Popular posts from this blog

รู้จักกับ Breakpoints ใน Responsive Web Design

IS-IS & OSPF

RIP Routing Information Protocol