JSON 对于新手 - 对于 Adob​​e Brackets 功能

JSON for newbs - for Adobe Brackets functionality

我完全不熟悉JSON。我不经常使用它,所以我只是在寻找一个快速修复,但作为一名程序员,我也希望有一些基本的了解。

我正在使用 Brackets 编辑一些工作内容,自动完成功能让我抓狂。我讨厌你自动完成,我非常讨厌你。我在 https://github.com/talmand/Brackets-Disable-AutoClose-Tags 找到了一段代码,它应该在打开新标签时取消自动完成。它不会完全关闭自动完成 - 一旦开始,它仍会尝试完成您的结束标记。打算有用,但我发现它非常烦人。

我将代码插入到首选项文件中,在语句中,很明显我需要做的就是将 whenClosing 更改为 false,但是当我 do它,然后关闭并重新打开程序使其生效,它告诉我我的首选项文件包含无效 JSON。我所更改的只是 whenClosing 的值 true 到 false。我使用 JSONlint 尝试查看问题所在,但 JSON 对我来说不是一种熟悉的语言。代码包含在下面。

我做错了什么?

+++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++

这是我复制到文件中的未更改代码:

"closeTags": { "whenOpening": false, "whenClosing": true, "indentTags": [] }

+++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++

这是我的首选项文件包含的总块,经过我的编辑:

{
    "closeBrackets": false,
    "debug.showErrorsInStatusBar": true
}

"closeTags": { "whenOpening": false, "whenClosing": false, "indentTags": [] }

+++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++

这就是 JSONlint 所说的:

Parse error on line 4:
...InStatusBar": true}"closeTags": {    "
----------------------^
Expecting 'EOF', '}', ',', ']'

+++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++

@Shaunak 说得有道理!不过我添加了逗号,得到了这个:

右括号后需要一个逗号。

{
    "closeBrackets": false,
    "debug.showErrorsInStatusBar": true
}, <<<<<<<<< ----- You need a comma here :) 

"closeTags": { "whenOpening": false, "whenClosing": false, "indentTags": [] }

JOSN 对象属性需要用逗号分隔。这就是 JSLint 在该错误中告诉您的内容。

UPDATE

好吧,我怀疑这一点,但我认为您最初只粘贴了部分代码。您的 preferences.json 实际上应该是这样的:

{
        "closeBrackets": false,
        "debug.showErrorsInStatusBar": true,
        "closeTags": { "whenOpening": false, "whenClosing": false, "indentTags":[] } 
}

所以您的问题是,所有首选项都需要放在主 {} 对象中。如果没有主包装 {},JSON 是无效的。

将来我建议 https://www.jsoneditoronline.org/ 验证和检查您的 JSON 字符串。