JSON สามารถเป็นได้ทั้งอาร์เรย์หรือวัตถุ โดยเฉพาะจาก json.org:
JSON สร้างขึ้นด้วยสองโครงสร้าง:
- ชุดของคู่ชื่อ / ค่า ในภาษาต่างๆสิ่งนี้จะถูกรับรู้ในฐานะวัตถุ, บันทึก, โครงสร้าง, พจนานุกรม, ตารางแฮช, รายการคีย์หรืออาร์เรย์ที่เชื่อมโยง
- รายการสั่งซื้อของค่า ในภาษาส่วนใหญ่สิ่งนี้ถูกรับรู้เป็น
อาร์เรย์เวกเตอร์รายการหรือลำดับ
จากนั้นจะอธิบายโครงสร้างทั้งสองดังนี้:
โปรดทราบว่าอักขระเริ่มต้นและตัวลงท้ายเป็นวงเล็บปีกกาและวงเล็บเหลี่ยมตามลำดับ
แก้ไข
และจากที่นี่: http://www.ietf.org/rfc/rfc4627.txt
ข้อความ JSON เป็นลำดับของโทเค็น ชุดโทเค็นประกอบด้วยอักขระโครงสร้างหกตัว, ตัวเลข, และชื่อตัวอักษรสามชื่อ
ข้อความ JSON เป็นวัตถุหรืออาร์เรย์ที่ทำให้เป็นอนุกรม
อัปเดต (2014)
เมื่อวันที่มีนาคม 2014 มี JSON RFC ใหม่ ( 7159 ) ที่แก้ไขคำนิยามเล็กน้อย (ดูหน้า 4/5)
คำจำกัดความต่อ RFC 4627 คือ: JSON-text = object / array
สิ่งนี้มีการเปลี่ยนแปลงใน RFC 7159 เป็น: JSON-text = ws value ws
โดยที่ws
แทนช่องว่างและvalue
ถูกกำหนดดังนี้:
ค่า JSON ต้องเป็นวัตถุอาร์เรย์ตัวเลขหรือสตริงหรือหนึ่งในสามชื่อตามตัวอักษรต่อไปนี้:
false null true
ดังนั้นคำตอบสำหรับคำถามยังคงใช่ข้อความ JSON สามารถเริ่มต้นด้วยวงเล็บเหลี่ยม (เช่นอาร์เรย์) แต่นอกเหนือจากวัตถุและอาร์เรย์ก็สามารถตอนนี้ยังเป็นตัวเลข, สตริงหรือค่าfalse
, หรือnull
true
นอกจากนี้สิ่งนี้ได้เปลี่ยนไปจากการอ้างอิง RFC 4627 ก่อนหน้าของฉัน (เน้นการเน้น):
ข้อความ JSON เป็นลำดับของโทเค็น ชุดโทเค็นประกอบด้วยอักขระโครงสร้างหกตัว, ตัวเลข, และชื่อตัวอักษรสามชื่อ
ข้อความ JSON เป็นอันดับคุ้มค่า โปรดทราบว่าข้อกำหนดก่อนหน้านี้บางอย่างของ JSON จำกัด ข้อความ JSON ให้เป็นวัตถุหรืออาร์เรย์ การใช้งานที่สร้างเฉพาะวัตถุหรืออาร์เรย์ที่ข้อความ JSON ถูกเรียกใช้จะทำงานร่วมกันในแง่ที่ว่าการใช้งานทั้งหมดจะยอมรับสิ่งเหล่านี้ว่าสอดคล้องกับตำรา JSON
[]
แยกวิเคราะห์เป็นอาร์เรย์และใช้องค์ประกอบอาร์เรย์แรก)