JSON 文件里加了注释,程序为什么读不了?

3 个讲解板块 · 关联 1 款站内工具 · 内容最后核对 2026-10-21

标准 JSON 从规范上就不允许注释,能读注释的是它的扩展方言。

直接答案

标准 JSON 的规范里没有注释这个语法,任何严格解析器遇到注释都会立刻报错,这不是程序坏了。

JSON5 与 JSONC 是放宽了注释、尾逗号、单引号键等限制的超集方言,需要解析器或运行环境显式支持才能读。

常见编辑器配置文件用的是 JSONC 方言;要把这类文件交给严格的运行时,得先去掉注释或换成支持方言的解析器。

想在配置文件里给字段写两行说明,一保存运行就报错,删掉注释又好了,感觉像玄学。

其实规范白纸黑字:标准 JSON 没有注释。这篇把方言和标准的边界、怎么选解析器讲清楚。

1标准 JSON 与方言差在哪

同一个文件能不能读,取决于解析器按哪套规范来。

写法标准 JSONJSON5 / JSONC
双斜线注释不允许,直接报错允许
块注释不允许允许(JSON5)
尾逗号不允许允许
单引号与无引号键不允许允许(JSON5)
十六进制数字不允许允许(JSON5)

文件后缀不能改变内容规范,改名叫 .json 的 JSONC 照样会被严格解析器拒绝。

2报错信息怎么对号入座

严格解析器的报错行号就停在第一个非法字符上,照着对即可。

报错停在注释行
解析器不支持注释
报错停在逗号后
尾逗号不被标准允许
报错提到意外的单引号
键或值用了单引号
报错提到非法字符开头
文件带了字节顺序标记

先用校验工具确认文件按哪套规范合法,再决定改文件还是换解析器。

3三种处理路径按场景选

注释要保留还是去掉,决定了走哪条路。

注释必须留
继续用支持方言的环境读它
交给严格运行时
先跑一遍去注释再交付
文档要给人看
另存一份带注释的源稿

去注释不等于逐行删斜线,字符串里合法出现的斜线不能动,交给工具处理最稳妥。

相关疑问

为什么有些工具能读带注释的 JSON?

它们内置的是 JSON5 或 JSONC 方言解析器,不是标准解析器,能力来自方言而不是规范。

把注释删干净就一定合法吗?

不一定,尾逗号、单引号、无引号键同样会被严格解析器拒绝,最好用校验工具整体过一遍。

配置文件该用 .json 还是 .jsonc 后缀?

按运行环境的约定来:支持方言的环境用 .jsonc 更诚实,只认标准 JSON 的环境后缀没意义,内容合法才行。

字符串里包含双斜线会被当成注释删掉吗?

不会,合格的去注释工具会识别字符串边界,只处理真正的注释语法。

内容标识:本页内容由人工智能辅助生成,并经人工核对与编辑。详见 人工智能生成内容标识说明。
内容说明:本页针对具体使用问题作答,方法步骤与数值由本站自行整理与复算,事实性内容以对应官方规范与文档为准。内容最后核对日期:2026-10-21。若发现错误,欢迎通过页脚反馈入口告知。