JSON 校验是检查一段文本是否符合 JSON 语法(RFC 8259),并在出错时指出位置和原因;更进一步的“结构校验”用 JSON Schema 检查字段是否齐全、类型是否正确。下面重点说明英文字符的结果。
JSON校验处理英文和数字
英文键名一般用 camelCase(如 userName)或 snake_case(如 user_name),同一个接口应保持一致;JSON 本身对大小写敏感,Name 和 name 是两个不同的键。
示例
输入:{"a":01}
校验结果:不合法:Expecting ',' delimiter(第 1 行第 7 列)
说明:Python json 模块的报错。
规则说明
- 键必须是双引号包裹的字符串
- 字符串只能用双引号,不能用单引号
- 值只能是字符串、数字、true、false、null、对象、数组
- 最后一个元素后面不能有逗号
- 不支持注释、NaN、Infinity、undefined
- 数字不能有前导 0(如 01),不能用十六进制
Go 示例
下面是 Go 中处理JSON校验的常用写法:
var v any
if err := json.Unmarshal([]byte(text), &v); err != nil { log.Fatal(err) }
b, _ := json.MarshalIndent(v, "", " ")
fmt.Println(string(b))运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。
本站的JSON格式化工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【JSON 键名必须加引号吗?】必须用双引号。
【最后一项后面能加逗号吗?】不能,这是最常见的 JSON 错误之一。
【JSON 中的大数字精度丢失怎么办?】JavaScript 只能精确表示 2^53 以内的整数,长 ID 建议用字符串传输。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。