JSON ย่อมาจาก JavaScript Object Notation เป็นรูปแบบการจัดเก็บและรับส่งข้อมูลที่เน้นความ “เบา” ( Lightweight ) และอ่านง่าย ทั้งสำหรับมนุษย์และคอมพิวเตอร์ แม้จะมีชื่อขึ้นต้นด้วย JavaScript แต่ปัจจุบัน JSON กลายเป็นมาตรฐานสากลที่ทุกภาษาโปรแกรม ( Python, Java, PHP, Go, ฯลฯ ) รองรับและใช้งานเป็นหลักแทนที่ XML ไปแล้วครับ นิยมอย่างมากในงาน API จน JSON คือภาษามาตรฐานที่ใช้คุยกันระหว่าง Browser และ Server รวมถึงระหว่าง Microservices ต่าง ๆ ด้วยความที่มันเรียบง่ายแต่ทรงพลัง ทำให้มันกลายเป็นทักษะพื้นฐานที่ขาดไม่ได้ในยุค Digital Transformation นี้ครับ
ทำไม JSON ถึงได้รับความนิยม
- อ่านง่าย: โครงสร้างไม่ซับซ้อน เห็นแล้วพอเดาได้ทันทีว่าข้อมูลคืออะไร
- กะทัดรัด: ไม่มี Tag เปิด-ปิด ยุ่งยากเหมือน XML ทำให้ไฟล์มีขนาดเล็ก รับส่งข้อมูลได้เร็ว
- เป็นอิสระ: ใช้งานได้กับทุกภาษาโปรแกรม
โครงสร้างพื้นฐานของ JSON
JSON มีกฎเหล็กไม่กี่ข้อที่ต้องจำครับ ข้อมูลจะถูกเก็บในรูปแบบของ Key-Value Pairs ( คู่กุญแจและค่า ) โดยมีสัญลักษณ์สำคัญดังนี้
{ }( Curly Brackets ): ใช้ล้อมรอบ Object ( วัตถุ )[ ]( Square Brackets ): ใช้ล้อมรอบ Array ( รายการชุดข้อมูล ):( Colon ): ใช้คั่นระหว่าง Key และ Value,( Comma ): ใช้คั่นระหว่างสมาชิกแต่ละตัว
ตัวอย่างหน้าตาของ JSON
{
"name": "Pitt Phunsanit",
"age": 40,
"is_admin": true,
"skills": ["Nginx", "Docker", "Python"],
"address": {
"city": "Bangkok",
"zipcode": "10160"
}
}
ประเภทของข้อมูลที่เก็บได้ ( Data Types )
ใน JSON คุณสามารถเก็บข้อมูลได้หลายประเภท ดังนี้
| ประเภท | คำอธิบาย | ตัวอย่าง |
| String | ข้อความ ( ต้องอยู่ใน ” ” เสมอ ) | "Hello World" |
| Number | ตัวเลข ( ไม่มีเครื่องหมายคำพูด ) | 1024, 3.14 |
| Boolean | ค่าความจริง | true, false |
| Array | รายการข้อมูลแบบลำดับ | [1, 2, 3] |
| Object | ข้อมูลซ้อนข้อมูล ( Nested ) | {"key": "value"} |
| Null | ค่าว่างเปล่า | null |
ข้อควรระวัง ( Best Practices )
- Double Quotes เท่านั้น: ใน JSON กฎบังคับว่า Key และ String ต้องใช้ Double Quotes (
") เท่านั้น ห้ามใช้ Single Quote (') - Comma ตัวสุดท้าย: ห้ามใส่ Comma หลังสมาชิกตัวสุดท้ายใน Object หรือ Array ( เป็นจุดที่คนพลาดบ่อยที่สุด )
- ความปลอดภัย: เมื่อต้องนำ JSON ไปแสดงผลบนหน้าเว็บ ควรระวังเรื่อง XSS ( Cross-Site Scripting ) เสมอ
อ่านเพิ่มเติม