为什么我可以在一些JSON文件中添加注释,而不能在其他文件中添加注释?
我的IDE(WebStorm)允许我在一些JSON文件中添加注释(例如,为什么我可以在一些JSON文件中添加注释,而不能在其他文件中添加注释?,json,comments,webstorm,Json,Comments,Webstorm,我的IDE(WebStorm)允许我在一些JSON文件中添加注释(例如,tsconfig.JSON和.eslintrc.JSON),但不允许在其他文件中添加注释(例如,package.JSON和app.JSON) 前者随后在GitHub上被标识为“带注释的JSON”(即使我实际上没有注释) 为什么我可以在一些JSON文件中添加注释,而不能在其他文件中添加注释?默认情况下,IDE会检查是否严格遵守标准,因为标准JSON不允许添加注释 我们有一组选项可以在设置|编辑器|检查、JSON和JSON5 |
tsconfig.JSON
和.eslintrc.JSON
),但不允许在其他文件中添加注释(例如,package.JSON
和app.JSON
)
前者随后在GitHub上被标识为“带注释的JSON”(即使我实际上没有注释)
为什么我可以在一些JSON文件中添加注释,而不能在其他文件中添加注释?默认情况下,IDE会检查是否严格遵守标准,因为标准JSON不允许添加注释 我们有一组选项可以在设置|编辑器|检查、JSON和JSON5 |符合JSON标准中放松合规性检查,对于某些文件,检查注释的选项默认为关闭(
tsconfig
、tslint
和eslint
configs),因为相应的工具允许JSON中的注释(这是硬编码的)
如果需要向某些JSON文件添加注释,可以将它们的名称添加到与设置|编辑器|文件类型中的JSON5文件类型相关联的模式列表中。JSON5标准允许注释您不能在JSON文件中添加注释。JSON不允许注释。请注意,有两个序列化格式的不同变体都称为“JSON”,但都不允许注释:
你不能将注释放在JSON文件中。但其中一些文件不是JSON,它们是允许注释的不同文件 特别是,TypeScript和ESLint碰巧都使用忽略注释的JSON解析器来解析其配置文件,一些编辑器、IDE、语法高亮器、语言检测器等都知道这一点,并将使用允许注释的解析器来解析这些文件因此,无法保证TypeScript接受的注释也会被ESLint接受,或者WebStorm认为TypeScript会接受的注释实际上会被接受
如果有疑问,请坚持使用正式的标准格式,如YAML或。Ah,这样基本上我的IDE足够聪明,可以知道一些JSON(这里是ESLint和TypeScript)的使用者不会介意是否有注释。(Github基本上标记这些文件不是标准JSON。)