Javascript 如何使eslint检测JSON文件中的规则冲突?

Javascript 如何使eslint检测JSON文件中的规则冲突?,javascript,coding-style,eslint,lint,Javascript,Coding Style,Eslint,Lint,下面是my.eslintrc文件,其中包含需要应用于.json文件的规则 { "extends": "eslint:recommended", "parser": "babel-eslint", "env": { "browser": true, "node": true, "jquery": true, "jasmine": true }, "plugins": [ "json" ], "rules": { "came

下面是my.eslintrc文件,其中包含需要应用于.json文件的规则

{
  "extends": "eslint:recommended",
  "parser": "babel-eslint",
  "env": {
    "browser": true,
    "node": true,
    "jquery": true,
    "jasmine": true
  },
  "plugins": [
    "json"
  ],
  "rules": {
    "camelcase": 2
  }
除了.json文件之外,该规则在项目中的任何地方都有效。

我曾尝试使用“eslint插件json”和其他几个模块,但它们根本不起作用


请不要给出诸如“改用jsonlint等”之类的解决方案,项目中用于linting的模块是eslint。

如果我理解正确,JSON文件在大多数情况下都没有有效的JavaScript语法:外部花括号
{}
被解析为带有语句的块,解析错误
意外标记:
发生在第一对
键:值上。因此,我不确定是否可以通过ESLint实现这一点(ESLint根据定义检查JavaScript)

您可以尝试类似于
echo”(`cat test.json`)“|eslint--stdin
的方法


然而,
camelcase
在这里尤其不能应用:ESlint似乎忽略带引号的键,并且不能在JSON中使用不带引号的键

我选择了
eslint-plugin-json
,因为它不适合我,也没有自动修复功能-

它还将(可选)为您对package.json进行排序

eslint --ext .json,.js . --fix

我认为eslint正在检查的规则也可以应用于json,甚至可能只需要一些功能增强,比如插件。至少有一些规则。我在答案中添加了一个不太简单的选项,并附带了一条警告。不确定它是否有帮助,但请spasibo提供以下信息:)