用于newbs的JSON - 用于Adobe Brackets功能

时间:2015-07-31 16:07:14

标签: json adobe-brackets

我完全不熟悉JSON。我不经常使用它,所以我只是想快速解决问题,但作为程序员,我也喜欢一些基本的理解。

我使用Brackets编辑某些内容进行工作,而自动完成让我感到疯狂。我讨厌你自动完成,我非常讨厌你。我在https://github.com/talmand/Brackets-Disable-AutoClose-Tags找到了一段代码,打算在打开新代码时拒绝自动完成。它并没有完全关闭自动完成 - 它仍然会在开始时尝试完成结束标记。旨在有用,但我发现它非常刺激。

我将代码插入到首选项文件中,并且在语句中,似乎很明显我需要做的就是将whenClosing更改为false,但是当我执行它时,然后关闭并且重新打开程序以使其生效,它告诉我我的首选项文件包含无效的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有道理!我添加了逗号,并得到了这个:

After adding the needed comma

1 个答案:

答案 0 :(得分:3)

关闭括号后需要逗号。

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

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

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

  

更新

好的,我怀疑这一点,但认为你最初只粘贴了部分代码。您的preferences.json应该看起来像这样:

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

所以你的问题是,所有首选项都需要进入主{}对象。没有主包装{},JSON无效。

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