跳到正文

JSON

中级通用

JSON 是一种用文本表示结构化数据的格式,能把对象、列表、文字、数字等内容按约定写出来。前端、后端和 AI 工具用它传递数据时,可以分清每个值属于哪个字段,例如一条订单的编号和金额。

你可能会说:「我想让前端和后端传订单信息时,能准确分清编号、金额和商品列表。」

读之前建议先了解

动手看看

咖啡店 · 订单数据预览
用户看到的订单
订单编号ORD-1042
订单金额¥ 38
商品列表
燕麦拿铁
燕麦拿铁、黄油可颂
尚未添加商品
传给系统的 JSON 文本
{
"orderId": "ORD-1042",
"amount": 38,
"items": ["燕麦拿铁"]
"items": [ "燕麦拿铁", "黄油可颂" ]
"items": []
}
订单编号
商品列表
字段高亮

用下方控件修改订单,再切换字段高亮看左右对应关系。右侧各字段也能悬停或用 Tab 聚焦;外层大括号把整条订单组织成一个对象。

拖动金额,右侧数字会同步变化。amount 的值没有引号,表示数字;左侧的人民币符号只是界面展示,不属于这个数值。

要点

  1. 1

    对象用字段名标明含义

    一条订单可以写成包含订单号、金额和状态的对象。字段名和对应的值成对出现,这样前端拿到数据后,就能按字段名读取金额,而不用猜第三个值代表什么。

  2. 2

    列表和基本值各有写法

    多件商品可以放进数组;商品名称是字符串,数量是数字,是否付款可用布尔值表示。JSON 还可以用 null 表示当前没有值。类型写对了,接收方才方便继续计算或展示。

  3. 3

    双方都得遵守同一套语法

    JSON 的字段名和字符串要用双引号,字段之间用逗号分隔,末尾不能多放逗号,也不能加注释。因为程序会解析整段文本,所以一个符号写错,就可能导致整段数据读取失败。

容易混淆的地方

JSON 是数据的表示格式,不等于 API:API 约定怎么请求、返回什么,JSON 可以用来承载其中的数据。它也不是 JavaScript 对象本身;两者写法相近,但 JSON 是遵守固定语法的文本,不能直接写函数、undefined 或注释。

什么时候用

适合用

  • 网站前端请求订单详情时,让后端用 JSON 返回订单号、金额和商品列表,方便页面按字段展示。
  • 让 AI 工具输出固定字段的任务结果,例如标题、优先级和完成状态,方便程序接着处理。
  • 从后台导出少量结构化配置,让另一个服务读取开关名称和对应的布尔值。

不适合用

  • 传输图片或视频文件本体时,直接使用文件上传或对象存储;JSON 更适合传文件地址和相关信息。
  • 写给人阅读的长篇使用说明时,用普通文档或 Markdown 更顺手,不必把整篇内容拆成 JSON 字段。
  • 要频繁查询大量订单并维护关联关系时,用数据库存储;JSON 可以作为接口数据格式,但不替代数据库。

练一练

你在做订单页,后端要一次返回订单号、实付金额,以及每件商品的名称和数量。哪种交付方式最方便前端稳定读取?

让 AI 帮你做

请把订单详情接口的响应设计成 JSON:包含字符串类型的订单号、数字类型的实付金额,以及商品对象数组;每件商品包含名称和数量。给出一份示例,并说明空商品列表如何表示。

接下来学什么