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 格式的对象:
{
“名字”:“保罗”,
“男性”:正确,
“年龄”:7,
“父母”:[
{
“名字”:“彼得”,
“男性”:正确,
“年龄”:31,
“父母” : null
},
{
"name" : "Maria",
"male" : false,
"age" : 28,
"parents" : null
}
]
}
“名字”:“保罗”,
“男性”:正确,
“年龄”:7,
“父母”:[
{
“名字”:“彼得”,
“男性”:正确,
“年龄”:31,
“父母” : null
},
{
"name" : "Maria",
"male" : false,
"age" : 28,
"parents" : null
}
]
}
JSON 格式的评论
这里的一切都与 Java 中的完全相同。注释有两种类型:// 和/*...*/。我希望我不需要提醒你它们有何不同?
GO TO FULL VERSION