JSON 是將數據表示為文本的最流行格式之一。例如,JSON用於前端和後端之間、配置文件、遊戲、文本編輯器和許多其他領域的數據傳輸。作為程序員,肯定會遇到JSON。
語法介紹
讓我們列出 JSON 中可用的數據類型:
-
字符串是用雙引號括起來的任何字符:
“kwerty”“125 + 42”“G”特殊字符用斜杠轉義:
“第一行\n第二行”"他說,"你好!"" -
數字,包括負數和實數。沒有報價:
18 -333 17.88 1.2e6 -
布爾值是true / false(無引號)。
-
null是表示“無”的標準值。這裡不使用引號。
-
Array - 這種類型可以包含任何其他類型的值。它被包裹在方括號中。它的元素用逗號分隔:
["代碼", "健身房", "CodeGym", "¯\_(ツ)_/¯"][真,真,假,真,假,假,假,假,假][[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 格式的對象:
{
"name" : "Paul",
"male" : true,
"age" : 7,
"parents" : [
{
"name" : "Peter",
"male" : true,
"age" : 31,
"parents" : null
},
{
"name" : "Maria",
"male" : false,
"age" : 28,
"parents" : null
}
]
}
"name" : "Paul",
"male" : true,
"age" : 7,
"parents" : [
{
"name" : "Peter",
"male" : true,
"age" : 31,
"parents" : null
},
{
"name" : "Maria",
"male" : false,
"age" : 28,
"parents" : null
}
]
}
JSON 格式的評論
這裡的一切都與 Java 中的完全相同。有兩種類型的註釋:// 和/*...*/。我希望我不需要提醒你它們有何不同?
GO TO FULL VERSION