JSON
JSON也常被叫作:JSON 格式接口数据格式数据格式交换格式
「电脑之间传数据用的通用文本格式,长得像「名字: 值」的清单,人和程序都能读懂。」
JSON JSON
一种人和程序都能读的文本数据格式:花括号包对象、方括号包列表、冒号连名字和值。
JSON 是一张「填好的表」的文本版:{"name": "阿麦", "age": 30} 读作「名字是阿麦、年龄是 30」。它能装四种基础值:文字("阿麦")、数字(30)、真/假(true/false)、空(null),还能组合:方括号 [...] 是一串值(列表),花括号 {...} 是带名字的一组值(对象),可以一层套一层。关键认知:JSON 只是数据,不是程序,它不能执行、没有逻辑,就是一段纯文本。
为什么接口都用 JSON:因为它是纯文本,任何编程语言都能解析;因为结构清楚,人能读、能改、能排错;因为几乎所有语言都有现成的解析函数(前端叫 JSON.parse)。你让 AI 做接口,返回的基本都是 JSON——前端拿到 JSON,解析成页面上的内容。api 词条里那个接口返回示例,本身就是 JSON。
格式有三条硬规矩:字段名必须用双引号(单引号不行);结尾不能有多余逗号({"a":1,} 是错的);所有括号必须配对。AI 生成的 JSON 最常见的错误就是这几种,尤其字段值里混进中文引号、漏逗号、多尾逗号。验证不用靠眼力:把内容原样贴进在线校验器(搜 json validator),或在前端控制台执行一次 JSON.parse,报错就是非法。但格式合法 ≠ 内容正确:校验器只保证「机器能读」,字段名和值对不对,要对着你的预期人工核对。
长什么样 真实可交互,不是截图
{
"code": 200,
"user": { "id": 1, "name": "阿麦", "vip": true },
"orders": [
{ "id": 101, "amount": 29.9 },
{ "id": 102, "amount": 88 }
]
}上面这段是合法 JSON。判断合法不用背规则:贴进校验器或让程序解析一次,报错就是非法。
拆开看,里面有这几块
-
1
对象 Object
花括号包起来的一组「名字: 值」,如 {"name": "阿麦"},表示一个带属性的东西。
-
2
数组 Array
方括号包起来的一串值,如 [1, 2, 3] 或 [{...}, {...}],表示一个列表。
-
3
键与值 Key / Value
冒号左边是字段名(必须双引号),右边是值:文字、数字、true/false、null、对象或数组。
-
4
解析 Parse
把 JSON 文本变成程序能用的数据,前端常用 JSON.parse。解析报错 = 这段 JSON 不合法。
常见的有哪几种
后端返回数据的标准形态,前端解析后渲染页面。
用在:几乎所有前后端数据交换
很多工具的配置文件直接用 JSON(或超集),如 package.json。
用在:项目配置、扩展配置
MongoDB 这类数据库直接存 JSON 文档,不用先定义表结构。
用在:结构灵活、以文档为整体存的数据
容易搞混?这样区分
JSON 是文本格式,字段名必须双引号、不能有注释和尾逗号;JavaScript 对象是程序里的数据结构,裸写字段名也行。把 JSON 当 JS 对象粘贴进代码,常常报错在引号和尾逗号上。
看 JavaScript 对象什么时候用得上
后端返回 JSON 数组,前端解析后逐条渲染成列表。
前端把用户填的内容拼成 JSON 发给后端,后端按字段落库。
package.json 这类配置本身是 JSON,少个逗号整个项目起不来。
你可以这样跟 AI 说
直接复制下面这段,把【】里的换成你的情况。它比一句「帮我加个 X」多说清楚了:改哪里、不许动啥、做完交什么。
【目标】做一个接口,返回 [用户列表] 给前端,返回体是合法 JSON,前端能直接解析使用 【范围】返回体只包含:用户 id、昵称、注册时间三个字段;不做分页、不做筛选 【边界】字段名统一用英文小写加下划线(user_id),不要用中文或大小写混写;不要在返回体里塞拼好的 HTML 字符串 【交付】 1. 给我一段真实的返回示例(字段名和值的类型都写清),并且这段示例必须是合法 JSON——我会贴进校验器验 2. 我打开页面能在网络面板里看到这个请求,返回内容和示例一致 3. 指出前端读取每个字段的代码位置 【提醒】生成后自己先解析一遍再交给我;字段名不确定就问我,不要自己发明
「必须是合法 JSON,我会贴进校验器验」这句话直接堵住最常见的糊弄——AI 交来一段单引号或带尾逗号的「JSON」。
它说「做好了」,你怎么自己验
这是本站的重头戏。AI 最会的不是写代码,是说「已完成」。这一条,它通常最多做到「运行时」这层:真的跑起来了,能在本机看到结果。
要亲眼看到这些,才算数
- 把 AI 生成的 JSON 原样复制,贴进在线校验器(搜 json validator):合法一定通过,非法一定报错。
- 浏览器按 F12 → 控制台,输入 JSON.parse('{"a":1}') 回车能通过;改成 {"a":1,} 再回车,看它报错——这就是机器的判断。
- 数一遍硬规矩:字段名都是双引号、没有尾逗号、花括号和方括号都配对。
- 对真实接口:把返回内容复制出来贴校验器,同时核对字段名和值的类型跟你预期一致——格式合法不等于字段对。
它常这么糊弄你
- 「JSON 已生成」——但用了单引号或中文引号、多了尾逗号,程序一解析就崩。必须贴进校验器或执行一次解析。
- 把 JSON 和 JavaScript 对象混为一谈:JSON 字段名必须双引号,JS 对象裸写也行。报错时先查是不是这个。
- 返回体里嵌了一段拼好的 HTML 字符串,声称是「结构化数据」——数据和展示混在一起,后面想改样式要整个重做。
- 只说「格式合法」不说字段对不对:校验器只能证明机器能读,值对不对是另一回事。
JSON 能不能被机器读,验到「运行时」就够:贴校验器或执行一次解析,一票否决。但「字段名和值对不对」没有机器替你判,得对着你的预期人工核对。
考考你 选一个你觉得对的
AI 说「数据接口返回的是标准 JSON」。你怎么最快确认它真的合法?
A 用的是机器的判断,一票否决,不靠眼力和信任。D 是常见误区:花括号成对不等于 JSON 合法,引号、逗号、字段名都可能错。