为什么JSON的语法要设计得这么严格
JSON最初的设计目标就是做一种简单、没有歧义的数据交换格式,严格的语法保证了不同解析器之间的行为完全一致。
JSON报错通常来自哪里
手动编辑的配置文件、从JS或Python代码里直接复制粘贴(引号规则不同)、多余的结尾逗号,以及JSON本身并不支持的//注释,是绝大多数校验失败的来源。
常见问题
JSON里可以写注释吗?
标准JSON不支持任何注释语法,除非使用JSON5、JSONC等扩展格式,否则写入//或/* */都会被校验器判定为错误。
为什么代码在JavaScript里能正常运行,校验JSON时却报错?
JS对象字面量的语法比JSON宽松得多,比如允许不加引号的键名、末尾逗号等,这些是JS自身的语法特性,并不代表它们是合法的JSON。