Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSON对象的尾随逗号有什么问题_Json_Visual Studio Code - Fatal编程技术网

JSON对象的尾随逗号有什么问题

JSON对象的尾随逗号有什么问题,json,visual-studio-code,Json,Visual Studio Code,通常我会创建如下有效的JSON对象: { hasPermission: true, notificationStatusId: 1 }; { hasPermission: true, notificationStatusId: 1, }; 在VSCode上,当保存文件时,有时会在最后一个属性后自动添加尾随逗号,如下所示: { hasPermission: true, notificationStatusId: 1 }; { hasPermission: true

通常我会创建如下有效的JSON对象:

{
  hasPermission: true,
  notificationStatusId: 1
};
{
  hasPermission: true,
  notificationStatusId: 1,
};
在VSCode上,当保存文件时,有时会在最后一个属性后自动添加尾随逗号,如下所示:

{
  hasPermission: true,
  notificationStatusId: 1
};
{
  hasPermission: true,
  notificationStatusId: 1,
};

事实上,我不是在问如何禁用这种行为,我知道怎么做。我在问VSCode自动添加尾随逗号的功能的原因是什么?

首先,确保文件的设置仅为
JSON
(而不是
JSON加注释或
JSON5
JSON
)。这个 语言模式显示在状态栏的右下角:

VS Code将在JSON语言模式下警告您跟踪命令


至于插入尾随逗号的原因,这可能是由您的一个扩展引起的,因为VS代码在默认情况下不应该这样做。如果您使用的是一些类似于细针的更漂亮的、最近尾随逗号的默认值在新版本中从“无”更改为“es5”,请尝试查看扩展以确定是哪个扩展导致了此问题 要解决这个问题,你必须改变你的短绒配置 如果是prettier,请创建一个包含内容的文件.prettierrc.json

{"trailingComma": "none"}

后面的逗号可能是由代码格式化程序添加的。这是javascript的建议,而JSON则不允许:

尾随逗号(有时称为“最终逗号”)可以 在向中添加新元素、参数或特性时非常有用 JavaScript代码。如果要添加新属性,可以添加新属性 行,而不修改以前的最后一行(如果该行已存在) 使用尾随逗号。这使得版本控制差异更为清晰和有效 编辑代码可能不那么麻烦

自 开始,然后将它们添加到对象文本(ECMAScript 5)和 最近(ECMAScript 2017)更新了函数参数

然而,JSON不允许尾随逗号


这不是JSON,后面的逗号会有问题,而是JS。大概有什么东西(更漂亮的或其他的linter)被配置为在保存时格式化。这是有效的哦,但是后面还有一个分号。。。这不是有效的json(这甚至不是有效的js)