00 JSON 是什么?从一张书包清单开始
用书包清单认识 JSON 的名字和值、六种数据类型和标点规则,为调用 AI API 做准备。
假设你要让一个小机器人帮你整理书包。你说:“放两本书,再带一支铅笔。”
人能听懂这句话。程序之间传递资料时,常常会把它写成一张格式固定的清单。
**JSON 就是这种记录资料的格式。**你可以把它读作“杰森”。这一课不用装软件,也不用记英文全称。
学完后,你会读懂并修改下面这张清单。下一课,我们会用同样的格式给 AI 发任务。
一、先读一张清单
{
"bag": "blue",
"books": 2,
"items": ["book", "pencil"],
"hasWater": true,
"snack": null,
"owner": {
"name": "Alex"
}
}先看最简单的一行:"books": 2。
books是名字,也叫“键”(key),意思是“书的数量”。2是值(value),告诉机器人有两本书。- 中间的冒号
:把名字和值连起来,可以读成“是”。
所以,这行可以读成:“书的数量是 2。”
外面的一对大括号 { } 把这些资料放在一起。这样的一组资料叫对象。
我们用英文写名字,是为了方便与程序对接。JSON 的文字也可以是中文,不是只能写英文。
二、JSON 能装什么?
像书包有不同的小口袋,JSON 也有不同的资料类型。先看例子,不用背名字。
| 类型 | 清单中的例子 | 怎么理解 |
|---|---|---|
| 文字(字符串) | "blue" | 蓝色。文字放在双引号里。 |
| 数字 | 2 | 两本。数字不用加引号。 |
| 是或否(布尔值) | true | 带了水。false 表示没带。 |
| 空值 | null | 零食这一项暂时没有值。不是数字 0。 |
| 列表(数组) | ["book", "pencil"] | 按顺序放一本书、一支铅笔。 |
| 对象 | {"name": "Alex"} | 一张小资料卡,还能放进大清单里。 |
大括号 { } 装一组“名字和值”,方括号 [ ] 装一列东西。
2 和 "2" 看着像,却不一样:前者是数字,后者是文字。就像两个苹果和纸上写着的“2”,不是同一件东西。
三、标点也有规则
机器人不会像老师一样帮你猜错别字。写 JSON 时,先检查这五件事:
- 名字用英文双引号
"包住,文字值也一样。单引号和中文弯引号都不行。 - 名字和值之间用冒号
:。 - 相邻的项目之间用逗号
,,最后一项后面不加逗号。 - 大括号和方括号要成对出现。
true、false、null全部小写,不加引号。JSON 里不能写注释。
换行和缩进是为了让人容易阅读。把它排得整齐,不会改变里面的资料。
下面这段有错误,不能作为 JSON 使用:
{
'books': 2,
"hasWater": True,
}它有三处问题:books 用了单引号,True 的开头大写,最后还多了一个逗号。
改好后是这样:
{
"books": 2,
"hasWater": true
}四、轮到你改一改
把上面的正确清单复制到记事本,完成两个小任务:
- 把书的数量改成 3。
- 加一项
items,列表里放book和pencil。
先自己改,再往下核对。你得到的资料应该是这样,空格多少不影响结果:
{
"books": 3,
"hasWater": true,
"items": ["book", "pencil"]
}检查一下:你有没有在 true 后面加上逗号?最后一项后面有没有多余的逗号?
接下来,带着这张清单的读法,学习用 JSON 调用 AI API。