JSON (JavaScript Object Notation) คือ format ข้อมูลที่ใช้กันแพร่หลายที่สุดในโลกการพัฒนาซอฟต์แวร์ปัจจุบัน ถูกออกแบบมาให้มนุษย์อ่านง่ายและเครื่องประมวลผลได้เร็ว JSON เป็น subset ของ JavaScript แต่ปัจจุบันรองรับโดยแทบทุก programming language รวมถึง Python, Java, Go, PHP, Ruby และอีกกว่า 100 ภาษา
เครื่องมือนี้ช่วย Beautify (จัดรูปแบบให้อ่านง่าย), Minify (บีบอัดให้เล็กที่สุด), Validate (ตรวจสอบ syntax) และแสดง Tree View เพื่อดูโครงสร้างข้อมูลได้ทันที
JSON รองรับ data type 6 ประเภท:
"สวัสดี", "hello"42, 3.14, -100true หรือ false (ตัวพิมพ์เล็กเท่านั้น)null{} เช่น {"name":"สมชาย","age":30}[] เช่น [1,"สอง",true,null]ตัวอย่าง Response จาก User API (แบบ Minified):
{"status":"ok","data":{"id":1001,"name":"สมชาย ใจดี","email":"[email protected]","role":"admin","permissions":["read","write","delete"],"profile":{"avatar":"https://cdn.example.com/avatars/1001.jpg","joined":"2024-01-15"}},"meta":{"page":1,"total":150}}
หลัง Beautify (อ่านได้ง่ายกว่ามาก):
{
"status": "ok",
"data": {
"id": 1001,
"name": "สมชาย ใจดี",
"email": "[email protected]",
"role": "admin",
"permissions": ["read", "write", "delete"],
"profile": {
"avatar": "https://cdn.example.com/avatars/1001.jpg",
"joined": "2024-01-15"
}
},
"meta": {
"page": 1,
"total": 150
}
}
{"name":"สมชาย",} — ห้ามมี comma หลัง element สุดท้าย JSON เข้มงวดกว่า JavaScript{'name':'สมชาย'} — JSON ต้องใช้ double quotes เท่านั้น{name:"สมชาย"} — key ใน JSON ต้องมี double quotes รอบๆ เสมอ// comment และ /* comment */undefined ไม่ใช่ค่าที่ valid ใน JSON ใช้ null แทนnull หรือ string ก่อนการ Minify JSON ลบ whitespace และ newline ออกทั้งหมด ลดขนาดได้ 20–40% ขึ้นอยู่กับโครงสร้างข้อมูล ประโยชน์ที่ได้รับ:
cat data.json | jq '.data[] | .name'JSON.stringify(obj, null, 2) เพื่อ pretty print พร้อม 2-space indentjson.dumps(obj, indent=2, ensure_ascii=False) สำหรับภาษาไทยJSON (JavaScript Object Notation) คือรูปแบบข้อมูลข้อความที่ใช้แทนค่าโครงสร้างข้อมูลอย่าง object และ array เป็นภาษากลางสำหรับส่งข้อมูลระหว่าง server และ client ผ่าน REST API, GraphQL และ WebSocket JSON อ่านง่ายทั้งคนและเครื่อง รองรับชนิดข้อมูล string, number, boolean, null, object และ array โดยปัจจุบัน JSON เป็น format มาตรฐานที่ใช้กันทั่วโลกในการพัฒนาเว็บและ mobile app
การ validate JSON ทำได้หลายวิธี เช่น ใช้เครื่องมือนี้ที่ตรวจสอบ syntax อัตโนมัติ, ใช้ JSON.parse() ใน JavaScript (จะ throw error หาก JSON ไม่ถูกต้อง), หรือใช้ JSON Schema Validator สำหรับตรวจโครงสร้างข้อมูล ข้อผิดพลาดที่พบบ่อย ได้แก่ ลืม double quotes รอบ key, มี trailing comma หลัง element สุดท้าย และใช้ single quotes แทน double quotes
JSON Minify คือการลบ whitespace, newline และ indentation ออกจาก JSON เพื่อลดขนาดไฟล์ ทำให้ส่งข้อมูลผ่านเครือข่ายได้เร็วขึ้นและประหยัด bandwidth โดยเฉพาะ API ที่มีการเรียกใช้งานบ่อยครั้ง ตัวอย่างเช่น JSON ขนาด 10KB อาจลดลงเหลือ 6-7KB หลัง minify ซึ่งช่วยได้มากเมื่อมีผู้ใช้หลายพันคนพร้อมกัน
JSON มีขนาดเล็กกว่า อ่านง่ายกว่า และ parse เร็วกว่า เหมาะกับ Web API และ mobile app สมัยใหม่ ส่วน XML มี namespace และ schema validation ที่แข็งแกร่งกว่า เหมาะกับระบบ enterprise, SOAP web services และ configuration ที่ต้องการ comment XML ยังรองรับ attribute และ mixed content ที่ JSON ไม่มี แต่โดยรวมปัจจุบัน JSON เป็นตัวเลือกหลักสำหรับ API ทั่วไป