示例
输入格式
试试:
计算方法、依据和限制
- JSON 校验按 RFC 8259(等同 ECMA-404):键名和字符串只能用双引号,不允许注释、尾逗号、
NaN、undefined,数字不能有前导 0 或以+开头。解析器是本页自己写的,不依赖浏览器的JSON.parse,所以能给出行列和原因。 - 数字按原文保存:超过 253−1(9007199254740991)的整数、位数很多的小数,格式化、压缩、排序、转 CSV/YAML 后一位不差。但 JavaScript 的
JSON.parse读到这些数会四舍五入,接口里建议当字符串传。 - “一键修复”只处理常见的伪 JSON 写法,是按最可能的意思猜的:Python 的 True/None 转成 true/null,
007这样的数转成字符串,截断的内容会补全括号并丢掉写了一半的最后一项。修复后请自己核对。 - JSON ⇄ CSV 按 RFC 4180;嵌套对象可展开成
a.b列。CSV 转 JSON 时,带前导 0 的编号(如 010000)和超过 15 位的数字保持为文字,不会被当成数字吃掉。 - YAML 输出是本页自己生成的,数字和键的顺序保持原样,再用 js-yaml 反向读取验证过。YAML 输入用 js-yaml 4.1.0(YAML 1.2 核心规则):
yes/no当作字符串,日期保持为文字,支持<<合并键和多文档;纯数字的键(如200:)会被浏览器排到对象最前面,这是 JavaScript 对象的固有行为。 - 键重复时,
JSON.parse只保留最后一个;本页会保留全部并提示。
缩进
键排序
展开到
点键名复制路径(如 $.order.items[0].sku),点值复制值。超过 2^53 的整数旁会有 ⚠ 提示。
转换哪一部分
分隔符
嵌套内容
Excel 会把 12 位以上的数字显示成科学计数法(1.23E+17)。身份证号、订单号这类长编号建议在 Excel 里先把列设为“文本”再导入,或用本站的“CSV 乱码修复”转成 xlsx。
缩进
看起来像数字、true/false/null 的字符串会自动加引号,保证转回 JSON 时类型不变。
操作
这里处理的是输入框里的原文,不要求它是合法 JSON。“转义成字符串”用于把一段 JSON 塞进另一个 JSON 的字符串字段;“反转义”相反,能还原 {\"a\":1} 这样的内容。