JSON
จากวิกิพีเดีย สารานุกรมเสรี
เจซัน (อังกฤษ: JSON: JavaScript Object Notation เสียงอ่านภาษาอังกฤษ: /ˈdʒeɪsən/ แปลว่า สัญกรณ์วัตถุจาวาสคริปต์) เป็นฟอร์แมตสำหรับแลกเปลี่ยนข้อมูลคอมพิวเตอร์ ฟอร์แมต JSON นั้นอยู่ในรูปข้อความธรรมดา (plain text) ที่ทั้งมนุษย์และโปรแกรมคอมพิวเตอร์สามารถอ่านเข้าใจได้
มาตรฐานของฟอร์แมต JSON คือ RFC 4627 มี Internet media type เป็น
application/json
และมีนามสกุลของไฟล์เป็น .json
ปัจจุบัน JSON นิยมใช้ในเว็บแอปพลิเคชัน โดยเฉพาะ AJAX โดย JSON เป็นฟอร์แมตทางเลือกในการส่งข้อมูล นอกเหนือไปจาก XML ซึ่งนิยมใช้กันอยู่แต่เดิม สาเหตุที่ JSON เริ่มได้รับความนิยมเป็นเพราะกระชับและเข้าใจง่ายกว่า XML
เจสัน เป็นรูปแบบสายอักขระ (String) ชนิดหนึ่งที่ถูกจัดเก็บในรูปแบบที่สามารถอ่านและเข้าใจได้ง่าย ถ้าจะให้เข้าใจง่าย ๆ ก็คือเจสันเปรียบเสมือนรูปแบบของ อาเรย์ (Array) ชนิดหนึ่งที่ใช้รับส่งข้อมูลผ่านอาแจ็กซ์เพราะซึ่งปกติแล้วถ้าเราต้องการรับ-ส่งข้อมูลผ่านอาแจ็กซ์ต่าง ๆ นั้น จะต้องรับ-ส่งมาในรูปแบบของสายอักขระทั้งก้อน และเมื่อฝั่งอาแจ็กซ์ทำการรับค่าที่ทำการส่งค่ากลับมาจากเซิร์ฟเวอร์ ก็จะต้องนำสายอักขระ เหล่านั้นมาตัดตำแหน่งที่ต้องการ เพื่อเอาสายอักขระตัวที่ต้องการมาใช้ แต่สำหรับเจสันแล้ว สามารถรับส่งชุดค่าตัวแปรได้ทั้งฝั่งไคลเอนต์ (Client) และฝั่งเซิร์ฟเวอร์ (Server) โดยทั้ง 2 ฝั่งสามารถทำการเข้ารหัสและถอดรหัสโดยใช้เจสันเอนโค้ด (Json Encode) และ เจสันดีโค้ด (Json Decode) เพื่ออ่านค่าตัวแปรเหล่านั้น และจะเรียกใช้งานมันได้อย่างไร ซึ่งปกติแล้วจะอยู่ในรูปแบบของอาเรย์และสำหรับตัวแปรเจสันนั้นไม่จำกัดแค่รับส่งข้อมูลผ่านเว็บเบราว์เซอร์เท่านั้น แต่ยังสามารถนำเจสันไปประยุกต์กับการรับส่งข้อมูลในรูปแบบอื่น ๆ ได้ เช่นการจับเก็บข้อมูลในรูปแบบของ สายอักขระในข้อความหรือการรับส่งผ่านตัวให้บริการเว็บไซต์ (Web Service) ก็สามารถทำได้เช่นเดียวกัน
JSON นั้นใช้ความสัมพันธ์ของภาษาจาวาสคริปต์ แต่ไม่ถูกมองว่าเป็นภาษาโปรแกรม กลับถูกมองว่าเป็นภาษาในการแลกเปลี่ยนข้อมูลมากกว่า ในปัจจุบันมีไลบรารีของภาษาโปรแกรมอื่นๆ ที่ใช้ประมวลผลข้อมูลในรูปแบบ JSON มากมาย
JSON หรือ Java Script Object Notation เป็นวิธีการที่ทำให้ JavaScript แลกเปลี่ยนข้อมูลกับ Server ได้อย่างง่ายดายครับ
รูปแบบของ JSON นั้น อาจทำให้หลายๆ ท่านงงกับมันไม่มากก็น้อยล่ะครับ เช่น บางครั้งทำไมใช้ [] บางครั้งใช้ {} มันมีเหตุผลอะไร มีความหมายอย่างไร
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 กับ 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 จะใช้ [] แทน 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" ] } |
ยังไงก็หวังว่าบทความนี้จะเป็นประโยชน์สำหรับผู้เริ่มต้นนะครับ
ศึกษาข้อมูลเพิ่มเติมได้ที่ http://www.json.org/
ศึกษาข้อมูลเพิ่มเติมได้ที่ http://www.json.org/
ไม่มีความคิดเห็น:
แสดงความคิดเห็น