JSON校验在 Java 中的写法:Java 示例与注意事项

76 0

JSON 校验是检查一段文本是否符合 JSON 语法(RFC 8259),并在出错时指出位置和原因;更进一步的“结构校验”用 JSON Schema 检查字段是否齐全、类型是否正确。下面重点说明Java 示例与注意事项。

JSON校验在 Java 中的写法

下面是 Java 中处理JSON校验的常用写法:

// Jackson
ObjectMapper m = new ObjectMapper();
JsonNode n = m.readTree(text);   // 非法 JSON 抛 JsonProcessingException
String pretty = m.writerWithDefaultPrettyPrinter().writeValueAsString(n);

运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。

示例

输入:

// 注释
{"a":1}

校验结果:不合法:Expecting value(第 1 行第 1 列)

说明:Python json 模块的报错。

规则说明

  • 键必须是双引号包裹的字符串
  • 字符串只能用双引号,不能用单引号
  • 值只能是字符串、数字、true、false、null、对象、数组
  • 最后一个元素后面不能有逗号
  • 不支持注释、NaN、Infinity、undefined
  • 数字不能有前导 0(如 01),不能用十六进制

Python 示例

下面是 Python 中处理JSON校验的常用写法:

import json
obj = json.loads('{"name":"123问"}')
print(json.dumps(obj, ensure_ascii=False, indent=2))   # 格式化
print(json.dumps(obj, ensure_ascii=False, separators=(",", ":")))  # 压缩

运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。

本站的JSON格式化工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。

常见问题

【最后一项后面能加逗号吗?】不能,这是最常见的 JSON 错误之一。

【JSON 中的大数字精度丢失怎么办?】JavaScript 只能精确表示 2^53 以内的整数,长 ID 建议用字符串传输。

【JSON 和 JavaScript 对象一样吗?】语法相似,但 JSON 更严格:必须双引号、不能有函数、undefined 和注释。

文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: 编码 文本处理

抱歉,评论功能暂时关闭!