~/tutorials/json-format
JSON 是什么?接口返回的 JSON 怎么格式化、校验、搜索
接口一调,返回一大坨 {"code":0,"data":{...}},既不知道哪行写错了,也不知道值在哪个层级——这是开发联调和看接口文档时最常见的两难。下面用 30 秒讲清 JSON 是什么,再给你三步读一份接口返回的方法,全程浏览器本地完成,不上传、不注册。
JSON 是什么:一段 30 秒讲清
JSON(JavaScript Object Notation)就是一种轻量的数据文本格式:纯文本、键值对组织、几乎人人能读。它只有两种结构——对象(花括号 {},键值对)和数组(方括号 [],按位置排),再加上字符串、数字、true/false、null 这几种值,够了。
{
"user": {
"name": "yvfng",
"vip": true,
"tags": ["frontend", "indie-dev"]
},
"page": 1,
"remark": null
}
上面这份里:"user" 是键,它右边的 {} 是对象(嵌套了 name、vip、tags 三个键值);"tags" 的右边是数组;"page" 是数字;"remark" 是 null。记住一句话:JSON 就是「键值 + 两种容器」,没有别的。
三步读一份接口返回
① 粘贴进工具,点「美化」看层级
把接口返回的 JSON 原样粘进工具,点「美化」。一坨单行文本会变成带缩进的树状结构,每层是什么、嵌套多深,一眼看穿。
② 点「校验」抓语法错
接口返回读不下去时,先点「校验」。语法有错(多逗号、单引号、漏括号)时工具会标出行号,你对着行号就能定位是哪个字符写歪了,不用肉眼扫全文。
③ 键排序 / 压缩,再对比两份
两份 JSON 长得差不多、怀疑有出入?先各点一次「键排序」,再点「压缩」,剩下的差异就是真差异——用下面的文本对比工具逐行找出来。
工具:yvfng.com 的 JSON 格式化,美化、压缩、校验、键排序,粘贴即用,全程在浏览器本地跑,不上传、不注册。
写 JSON 最常踩的 4 个坑
- 尾逗号:对象或数组最后一项后面不能多写逗号(
{"a":1,}非法)。这是接口返回 / 手拼 JSON 报错的头号原因。 - 单引号:JSON 的键和字符串值只能用双引号,单引号(
'name')不合法,JS 对象字面量里习惯了就容易踩。 - 注释:JSON 不支持
//或/* */注释,加了直接解析失败;想加说明就用字段名或另开文档。 - 全角字符:从中文输入法里拷出的全角冒号
:、全角引号“ ”看着像、其实是错的,解析器只认半角:和"。
常见问题
JSON 格式化后体积为什么变大了
美化会加上缩进、换行和空格,是给人读的,所以体积变大很正常;发请求、存文件时用「压缩」模式去掉所有空白,体积比原文还小。
数组和对象有什么区别
对象用花括号 {},值按「键」组织,键可以重复出现的是键,不是位置;数组用方括号 [],值按位置排,同一份数据可以出现多次。
怎么在 JSON 里搜一个值
先点「美化」把 JSON 展开成多行,再用浏览器 Ctrl+F 搜键名或值;一坨单行 JSON 里搜,命中后根本看不出在哪个层级。
JSON 里用中文做键合法吗
合法。JSON 规范里键名是任意 Unicode 字符串,中文键完全没问题;但部分老解析器或下游系统对非 ASCII 键不友好,跨系统传输时建议用拼音或英文键。
相关工具
JSON 格式化
美化、压缩、校验、键排序,粘贴即用,全程本地。打开 ↗
文本对比
两份 JSON / 任意文本逐行找差异,定位哪几个字改错了。打开 ↗
随机密码
需要给接口生成密码 / 密钥时用,长度强度随意调,本地生成不上传。打开 ↗
回工具矩阵
更多在线工具与教程,都在首页一屏看全。回首页 ↗
一句话总结:粘贴 → 美化看层级 → 校验抓错 → 排序对比,全程浏览器本地完成,不上传、不注册。