JSON 工具
格式化 / 校验 / 各类互转 · 共 14 个工具
JSON 的日常操作就是四件事:让它可读、让它合法、比较两个版本、转成下游系统要的格式。格式化工具负责前两件——先解析,报错时给出行列位置,再按统一缩进重新输出;压缩是反向操作,为了传输。
转换类工具覆盖的是真实项目里的衔接处:老服务的 XML、给表格用的 CSV、当配置用的 YAML、从浏览器开发者工具复制出来的 Cookie 和查询串,以及需要编译期校验接口返回值时用的类型定义。
我该用哪个?
- 报错但找不到位置:先用格式化。它先校验再格式化,报错信息会指明文档真正断开的位置。
- 两份本该相同的配置:用差异对比。它比较解析后的结构,键顺序和空白不会造成假差异。
- 把接口返回变成类型定义:用代码生成,但要看它的输出。空数组推断不出元素类型,数字也没法判断是 int32 还是 int64。
- 表格与 JSON 互转:CSV 工具遵循 RFC 4180 的引号转义。嵌套对象没有 CSV 表达方式,会被压平并丢信息。
- 看 K8s 或 CI 配置:YAML 解析是为常见结构手写的,不支持锚点、别名与多文档流——不支持时会明确说出来,而不是猜。
本分类的全部工具
JSON 格式化 / 压缩 / 校验HOT
美化或压缩 JSON,校验失败时给出出错位置
JSON 转义 / 去转义
把文本变成可嵌入代码字符串的转义形式,或还原
JSON 对比
比较两段 JSON,列出新增、删除与修改的键路径
JSON 键排序
按字母顺序递归排序所有对象的键名
JSON 转字符串 / 字符串转 JSON
处理双重转义的字符串与 JSON 互转
JSON 转 XML
把 JSON 对象转换成结构对应的 XML
XML 转 JSON
用浏览器内置解析器把 XML 转成 JSON
JSON 数组转 CSV
把对象数组导出为 CSV,可选分隔符
CSV 转 JSON 数组
把 CSV 解析成对象数组,可选首行表头
JSON 与 YAML 互转NEW
JSON 转 YAML、YAML 转 JSON,手写解析覆盖常见结构
JSON 生成代码定义NEW
根据示例 JSON 生成 TS / Go / Java / C# / PHP 类型定义
查询参数与 JSON 互转
URL 查询字符串和 JSON 对象互相转换
Cookie 与 JSON 互转
解析 Cookie 字符串为 JSON,也能反向拼回
JSON 与 Properties 互转
JSON 与 Java Properties 风格键值文件互转
本分类的深度指南
- JSON 校验:七个最常见的语法错误与它们的真实报错美化或压缩 JSON,校验失败时给出出错位置
- JSON 转义:为什么你的 JSON 里出现了反斜杠把文本变成可嵌入代码字符串的转义形式,或还原
- JSON 对比:为什么文本 diff 看 JSON 会满屏噪声比较两段 JSON,列出新增、删除与修改的键路径
- JSON 键排序:为什么要排,以及排序会破坏什么按字母顺序递归排序所有对象的键名
- JSON 转字符串:层数怎么数,以及数据为什么会变成字符串处理双重转义的字符串与 JSON 互转
- JSON 转 XML:结构怎么对应,哪些信息一定会丢把 JSON 对象转换成结构对应的 XML
- XML 转 JSON:属性、文本节点和重复元素怎么处理用浏览器内置解析器把 XML 转成 JSON
- JSON 转 CSV:表头怎么定、字段怎么转义、嵌套对象会怎样把对象数组导出为 CSV,可选分隔符
- CSV 转 JSON:首行表头、类型转换与常见的格式错乱把 CSV 解析成对象数组,可选首行表头
- JSON 与 YAML 互转:类型陷阱、注释丢失与安全问题JSON 转 YAML、YAML 转 JSON,手写解析覆盖常见结构
- 从 JSON 生成类型定义:能省多少事,哪里必须人工改根据示例 JSON 生成 TS / Go / Java / C# / PHP 类型定义
- 查询字符串与 JSON 互转:重复键和嵌套怎么处理URL 查询字符串和 JSON 对象互相转换
- Cookie 解析:请求头里只有键值,属性和限制不在这里解析 Cookie 字符串为 JSON,也能反向拼回
- JSON 与 Properties 互转:扁平化、数组与编码约定JSON 与 Java Properties 风格键值文件互转
常见问题
JSON 为什么不能写注释和尾随逗号?
规范只定义了一种文法,两者都在文法之外。注释被刻意排除,是为了让任何合规的解析器都能读任何 JSON 文档。JSON5 与 JSONC 是为配置文件扩展的文法,严格解析器会拒绝它们的输出。
为什么大整数会变样?
JavaScript 的数字是 IEEE-754 双精度浮点,超过 2^53 - 1 的整数无法全部精确表示。雪花 ID、Discord ID、纳秒时间戳都会悄悄丢掉末尾几位。这类值在 JSON 里要保留为字符串,或用支持大数的库解析。
JSON 转 CSV 为什么出现 [object Object]?
CSV 只有行和列,没有表达嵌套的方式。当某个值本身是对象或数组时,转换器只能用它的默认字符串形式。先压平结构,或把嵌套值序列化成 JSON 字符串放进单独一列。