{
标识符:'name',
标签: '名',
项目:[
{
名称:“编程语言”,
孩子:[
等......
单词标识符,标签,项目,名称和子项是否应用引号括起来?
我正在编写一个Python程序来生成与其所需树结构兼容的语法。为了测试我的输出,我尝试了:
testDict =“xxxx”其中xxxx是上面假定JSON字符串的字符串。 它始终给出错误,即“标识符”未定义。
所以我很好奇这是否是一个错字 - 或者我是否需要学习一些新的JSON关键字或功能。
谢谢, 尼尔沃尔特斯
答案 0 :(得分:2)
JSON实际上没有任何其他功能。这就是它的美丽:)
您不必将这些名称用引号括起来。冒号之前的名称应该被引用,严格按照JSON规范。为什么?主要是(仅?)因为当保留字用作对象属性时JavaScript会被扰乱 - 例如,如果你有名为'function'或'return'的属性。引用这些名称可以始终避免这个问题。道场并不在意。它只是使用eval来解析JSON,只要你避免使用关键字,它就不会强制使用引号。如果您希望符合JSON标准,则可以一致地使用引号。
我不确定您的testDict示例究竟出现了什么问题。我不完全理解上下文(什么是testDict,你用什么语言来设置该字符串,它是如何使用的等等)也许你需要在JSON中转义一些东西,比如嵌套的双引号?
答案 1 :(得分:1)
这些不是JSON的新关键字或功能,但它们是dojo期望结构化JSON文件的方式。你应该用引号将它们包起来。 Here's an example from dojocampus