JSON 对于新手 - 对于 Adobe 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 字符串。
我完全不熟悉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 字符串。