JSON เป็นหนึ่งในรูปแบบที่นิยมมากที่สุดในการแสดงข้อมูลเป็นข้อความ ตัวอย่างเช่น JSON ใช้เพื่อถ่ายโอนข้อมูลระหว่างส่วนหน้าและส่วนหลัง ในไฟล์การกำหนดค่า ในเกม ในโปรแกรมแก้ไขข้อความ และในพื้นที่อื่นๆ อีกมากมาย ในฐานะโปรแกรมเมอร์ คุณจะต้องเจอ JSON แน่นอน
แนะนำไวยากรณ์
มาดูรายการประเภทข้อมูลที่มีอยู่ใน JSON:
-
สตริงคืออักขระใดๆ ที่อยู่ในอัญประกาศคู่:
"ควอร์ตี้""125 + 42""จี"อักขระพิเศษจะถูกหลีกด้วยเครื่องหมายทับ:
"บรรทัดแรก\nบรรทัดที่สอง""เขาพูดว่า \"สวัสดี!\"" -
ตัวเลข รวมทั้งจำนวนลบและจำนวนจริง ไม่มีคำพูด:
18 -333 17.88 1.2e6 -
ค่าบูลีนเป็นจริง / เท็จ (ไม่มีเครื่องหมายอัญประกาศ)
-
nullคือค่ามาตรฐานที่ใช้แทนค่า "ไม่มีอะไร" ไม่มีการใช้เครื่องหมายคำพูดที่นี่
-
Array - ประเภทนี้สามารถมีค่าของประเภทอื่น ๆ มันถูกห่อด้วยวงเล็บเหลี่ยม องค์ประกอบจะถูกคั่นด้วยเครื่องหมายจุลภาค:
["โค้ด", "ยิม", "โค้ดยิม", "¯\_(ツ)_/¯"][จริง, จริง, เท็จ, จริง, เท็จ, เท็จ, เท็จ, เท็จ, เท็จ][[1, 2], [3, 999, 4, -5], [77]]ตัวอย่างสุดท้ายคืออาร์เรย์ของอาร์เรย์
-
วัตถุ — ประเภทที่ซับซ้อนนี้ใช้บ่อยที่สุด ประกอบด้วยคู่คีย์-ค่า โดยที่ค่าสามารถเป็นประเภทใดก็ได้ตามรายการด้านบน รวมถึงออบเจกต์อื่นๆ มันถูกห่อด้วยวงเล็บปีกกาและคั่นด้วยเครื่องหมายจุลภาค:
{ "name": "Dale", "age": 7 }
การแสดงวัตถุ Java เป็น JSON
ทีนี้มาดูวัตถุ Java กันบ้างและดูว่า JSON มีลักษณะอย่างไร
ก่อนอื่นมากำหนดคลาส:
public class Human {
String name;
boolean male;
int age;
Set<Human> parents;
public Human(String name, boolean male, int age) {
this.name = name;
this.male = male;
this.age = age;
}
}
ตอนนี้มาสร้างวัตถุของเรา:
Human father = new Human("Peter", true, 31);
Human mother = new Human("Mary", false, 28);
mother.parents = new HashSet<>();
Human son = new Human("Paul", true, 7);
son.parents = Set.of(father, mother);
และตอนนี้ลองเป็นตัวแทนของลูกชายวัตถุให้ถูกต้องที่สุดในรูปแบบ JSON:
"ชื่อ" : "พอล",
"ชาย" : จริง,
"อายุ" : 7,
"พ่อแม่" : [
{
"ชื่อ" : "ปีเตอร์",
"ชาย" : จริง,
"อายุ" : 31,
"พ่อแม่" : null
},
{
"ชื่อ" : "มาเรีย",
"ชาย" : เท็จ,
"อายุ" : 28,
"ผู้ปกครอง" : null
}
]
}
ความคิดเห็นใน JSON
ทุกอย่างที่นี่เหมือนกับใน Java ทุกประการ ความคิดเห็นมีสองประเภท: // และ /*...*/ ฉันหวังว่าฉันไม่จำเป็นต้องเตือนคุณว่ามันแตกต่างกันอย่างไร?
GO TO FULL VERSION