JSON คืออะไร
JSON ย่อมาจาก JavaScript Object Notation ซึ่งหลายคนอาจจะงงว่า JSON คืออะไร เกี่ยวอะไรกับ JavaScript ซึ่งจริงๆแล้วมันคือ Standard format อย่างหนึ่งที่เป็น text และสามารถอ่านออกได้ด้วยตาเปล่า ใช้ในการสร้าง object ขึ้นมาเพื่อส่งข้อมูลระหว่าง application หรือ Applications Program Interface (API) โดย format จะมีรูปแบบเป็น คู่ Key-Value หรือเป็นแบบ Array และสามารถนำมาใช้แทน XML format ได้
JSON เป็น format ที่ได้รับการใช้งานจาก JavaScript มาก่อน แต่ปัจจุบันมีภาษา programming หลายชนิดที่เริ่มใช้งาน JSON โดนสามารถสร้างและ แปลง format ไปมาได้
ประเภทของ JSON
- Number: ตัวเลขเท่านั้น
- String: Unicode ใช้เครื่องหมาย double-quote (“) เป็นตัวบ่งบอก และสามารถใช้ backslash syntax ได้
- Boolean: True or False
- Array: ชุดข้อมูล ซึ่งจะเป็นชนิดใดก็ได้ ใช้สัญลักษณ์ square bracket [var1,var2] เป็นตัวแสดง และคั้นด้วย comma แต่ะลค่าใน array
- Object: ชุดข้อมูลที่เป็นคู่ Key-Value แบบ strings ใช้สัญลักษณ์ปีกกา {key1:value1,key2:value2} ใช้ comma เป็นตัวแบ่งแต่ละคู่ และใช้ colon เป็นตัวแบ่งระหว่าง key และ value
- Null: ค่าว่าง
ไม่สนใจ whitespace (ช่องไฟ) มีเพียงแค่ 4 แบบที่อยู่ในกลุ่ม whitespace คือ space, tab, newline (\n) และ carriage return (\r) และไม่มีสัญลักษณ์ comment สำหรับ JSON
JSON Schema
JSON Schema ใช้สำหรับแสดง format โครงสร้างของ JSON เพื่อทำ validation, documentation และ interaction control เอาง่ายๆคือการติดต่อไปยัง application เราจำเป็นต้องส่ง request ที่ทาง application ต้องการไปให้ครบถ้วน ซึ่ง Schema จะเป็นตัวบอกว่าข้อมูลต้องมีอะไรบ้าง ซึ่งใช้หลักการเดียวกับ XML Schema (XSD) ถึงจะไม่มีมาตราฐานของ file extension แต่หลายคนก็แนะนำว่าให้ใช้ .schema.json
ตัวอย่าง JSON
{ "firstName": "John", "lastName": "Smith", "isAlive": true, "age": 25, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021-3100" }, "phoneNumbers": [ { "type": "home", "number": "212 555-1234" }, { "type": "office", "number": "646 555-4567" }, { "type": "mobile", "number": "123 456-7890" } ], "children": [], "spouse": null }
จากตัวอย่างจะเห็นว่าข้อมูลมี attribute หลายแบบมากเช่น
firstName = (String) John lastName = (String) Smith isAlive = (Boolean) true age = (Int) 25 address = (Object) {"streetAddress": "21 2nd Street","city": "New York","state": "NY","postalCode": "10021-3100"} phoneNumbers = (Array) [{"type": "home","number": "212 555-1234"},{"type": "office","number": "646 555-4567"},{"type": "mobile","number": "123 456-7890"}] children = (Null Array) [] spouse = null
Author: Suphakit Annoppornchai
Credit: https://saixiii.com,https://en.wikipedia.org
[…] HTTP และขยายออกไปสู่รูปแบบ XML และ JSON ซึ่งโดนรวมแล้วก็คืออยู่บน web service […]
[…] โดยใช้ POST method และ ใช้ข้อมูล body message เป็น JSON format เป็นตัวส่ง request ไปหา LINE […]
[…] XML, HTML, JSON โดย response […]
[…] machine-to-machine ในรูปแบบ XML และ JSON format นั้นคือคำตอบว่า Web service […]
[…] format มาตราฐานเช่น XML,YAML,JSON หรือ binary และเก็บไว้ใน database ด้วย unique key […]
[…] เป็น JSON format ภายในเป็น array เก็บของในรูปแบบของ webhooks event objects […]