先明确允许哪种语法
初始使用严格模式。JSONC 只增加行注释和块注释,不放宽尾逗号。切换模式后旧报告立即过期,必须按新模式重跑,不能把前一次通过结果作为本次依据。
JSON 工具
默认手动校验,支持 Ctrl/Cmd+Enter;也可开启自动检查。点击诊断行列回到原文位置。
输入仅在当前浏览器标签页处理,不上传、不持久保存。
等待校验。
JSONC 支持 // 和 /* */ 注释;尾逗号仍不合法。
报告未运行或已过期,请校验当前输入。
导出包含诊断和少量原文片段,不是修正后的 JSON。
接口明明能解析,字段值却与预期不同,问题可能藏在同名字段里。JSON 校验不会先把文本变成普通对象,因此不会悄悄用后一个值覆盖前一个值。语法是否成立、数据是否存在风险,会分别展示。
排查配置文件时,单看“成功”或“失败”往往不够。这里的 JSON 在线校验保留输入顺序和空白,通过 JSON 语法检查定位错误,并给出 JSON 重复键与数字风险的具体位置,方便你回到数据来源核对。
同一对象出现两个相同键时,后一个位置会产生警告,同时注明第一次出现的行列。键按解码后的字符串比较,例如 "a" 与 "\u0061" 也会被识别为重复。不同对象中各有一个同名键不受影响,工具也不会替你选择保留哪个值。
长订单号可能符合语法,却超过 JavaScript 安全整数范围。校验会指出原始数字的位置,保留全部数位,不自动加引号、不做四舍五入。处理接口数据时,应结合接收方的数字类型决定修正方式。
初始使用严格模式。JSONC 只增加行注释和块注释,不放宽尾逗号。切换模式后旧报告立即过期,必须按新模式重跑,不能把前一次通过结果作为本次依据。
行列从 1 开始,点击后可定位输入光标。缺少逗号等问题可能要到下一行才被发现,应连同前一项检查。上下文会在出错位置附近截取,超长行不会完整塞进卡片。
手动模式按 Ctrl/Cmd+Enter 执行;自动模式在最后一次修改后等待 400ms。输入或参数变化会禁用旧报告的复制与下载。列表每批展示 50 条,导出包含全部已收集诊断。
JSON 校验将结果分为语法合法、合法但有警告、语法错误,以及未完成检查。重复键属于互操作风险,不会被误报成语法规则禁止。发现警告后,仍会继续检查可解析的后续内容。
安全整数范围为 −9007199254740991 到 9007199254740991。以小数点或指数写出的数学整数也会检查;转换为 Number 时变成无穷大的数字另报溢出风险。这不等于验证任意小数都能精确表示。
报告包含诊断代码、级别、JSON Pointer、偏移、行列与上下文。重复键还包含首次出现位置。偏移和列按 UTF-16 单元计数,CRLF 算一次换行;路径中的斜杠和波浪号会按 Pointer 规则转义。
常见原因包括少逗号、括号未闭合、字符串使用单引号,或根值后还有额外内容。先看报告的位置,再检查上一项;修正输入后重新执行,不能只凭错误行看起来正常就忽略提示。
严格 JSON 不允许注释。切换到 JSONC 后可以使用 // 行注释与 /* */ 块注释,但不接受尾逗号和 JSON5 的其他写法。报告中会记录所选模式。
不代表。JSON 校验通过只说明满足所选语法且已完成指定检查;字段含义、必填项、数据类型约束和业务范围由接口或 Schema 决定。即使语法合法,也应查看是否有警告。
语法允许同一对象出现重复键,但不同解析器的处理可能不同,也可能丢失前面的值。这里报告后续重复位置和首次出现位置,保留原文,不选择“第一个优先”或“最后一个优先”。
对象键必须使用双引号,字符串值也必须使用双引号。这段内容是 JavaScript 风格的对象字面量,不符合严格 JSON;切换到本页的 JSONC 模式也不会放宽这两条规则。
发现处理结果不符合预期?