JSON 校验是检查一段文本是否符合 JSON 语法(RFC 8259),并在出错时指出位置和原因;更进一步的“结构校验”用 JSON Schema 检查字段是否齐全、类型是否正确。下面重点说明判断结果是否正确的方法。
JSON校验怎么做
语法校验:JSON.parse / json.loads;结构校验:JavaScript 用 ajv,Python 用 jsonschema,Java 用 networknt json-schema-validator。命令行可以用 jq empty file.json,非法时返回非 0 状态码。
示例
输入:
// 注释
{"a":1}
校验结果:不合法:Expecting value(第 1 行第 1 列)
说明:Python json 模块的报错。
命令行示例
# 用 Python 自带工具格式化
echo '{"a":1,"b":[1,2]}' | python3 -m json.tool
# 用 jq 格式化、压缩、取值
jq . data.json
jq -c . data.json
jq '.user.name' data.json
怎么选
只需确认能否解析时用语法校验;对外提供接口、导入第三方数据时用 JSON Schema 做结构校验,并把校验放在入口处。
JSON 与 XML:JSON 更简洁、解析更快,是 Web API 的主流;XML 支持属性、命名空间和 Schema 校验,常见于老系统和文档格式。JSON 与 YAML:YAML 可读性更好、支持注释,常用于配置文件;YAML 1.2 是 JSON 的超集。
本站的JSON格式化工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【JSON 能写注释吗?】标准 JSON 不能。需要注释可以用 JSONC、JSON5 或 YAML,但接口传输时不要带注释。
【JSON 键名必须加引号吗?】必须用双引号。
【最后一项后面能加逗号吗?】不能,这是最常见的 JSON 错误之一。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。