Javascript JSON.parse数组嵌套元素不工作
我收到以下错误消息: SyntaxError:JSON.parse:JSON数据第4行第18列的数组元素后面应该有“,”或“]” 我想这是因为我在数组中有一个对象,可能这是不允许的。但我需要有经验的开发人员对此进行确认。你能把对象放在json的数组中吗 HTMLJavascript JSON.parse数组嵌套元素不工作,javascript,arrays,json,Javascript,Arrays,Json,我收到以下错误消息: SyntaxError:JSON.parse:JSON数据第4行第18列的数组元素后面应该有“,”或“]” 我想这是因为我在数组中有一个对象,可能这是不允许的。但我需要有经验的开发人员对此进行确认。你能把对象放在json的数组中吗 HTML <div id="ex1"><h2>Example 1</h2><p></p><h4>results:</h4></div> JSON {
<div id="ex1"><h2>Example 1</h2><p></p><h4>results:</h4></div>
JSON
{
"sex":{"male":{"fname":["Michael","Tom"]} ,"female":{"fname":["Alice","Katie"]}},
"age":[16,80],
"job":["medical":{"hospital": "doctor"}, "education":{"school":"teacher"} ]
}
这是不正确的:
"job":["medical":{"hospital": "doctor"}, "education":{"school":"teacher"} ]
这是正确的:
"job": {"medical": {"hospital": "doctor"}, "education": {"school": "teacher"} }
注意,我将[]
更改为{}
方括号用于数组(许多单独的项)。例如:
{ "my_array": [1, 2, "three"] } <-- Notice that the items in square brackets
so not assign a value such as "key": "value"
{ "my_association": { "dogs": "rule", "cats": "drool" } }
请参阅以了解有关JSON正确语法的更多信息。您的
作业
属性包含一个无效的类关联数组,该数组具有类对象键,如医疗
和教育
。有效数组的一个示例是带有age
键的属性。作业
属性可能应该包含对象而不是数组
JavaScript数组只是一个没有显式键的值列表([“foo”,“bar”]
)。如果需要键:值
对,请使用对象({“a”:“foo”,“b”:“bar”}
)
顺便说一下,自动(而不是手动)生成JSON通常是有意义的。 G使用PHP的内置函数,以确保生成的JSON代码有效。您需要纠正以下错误:
{
"sex":{"male":{"fname":["Michael","Tom"]} ,"female":{"fname":["Alice","Katie"]}},
"age":[16,80],
"job":["medical":{"hospital": "doctor"}, "education":{"school":"teacher"} ]
}
致:
如果你真的想保留你对结构和访问的原始想法 您的
作业
属性包含无效的类关联数组,该数组具有类对象键,如医疗
和教育
。有效数组的一个示例是带有age
键的属性。job
属性可能应该包含一个对象而不是数组。您刚刚将其发布到其他位置。为什么不把它们放在同一个问题上@Wes Foster,关于json中的数组,这实际上是一个不同的问题。但是,我不知道您可以继续补充前面的一个问题,您已经提出了这是无效的JSON。你是手工建造的吗?@EatPeanutButter是的,我是。有没有更好的方法来构建它?快速提问,您是否可以使用我在对象中使用的数组,还是JSON和javascript对象中的语法不好?两者在技术上是相同的,它们是一个散列
。最大的不同是,对于关联条目,您将为键指定一个名称。对于普通数组(方括号中),您没有为键指定名称。“job”:[{“medical”:{“hospital”:“doctor”},{“education”:{“school”:“teacher”}]
是op最初想要的,但他只是忘记了将它们包装在{}中的键值对。
{
"sex":{"male":{"fname":["Michael","Tom"]} ,"female":{"fname":["Alice","Katie"]}},
"age":[16,80],
"job":["medical":{"hospital": "doctor"}, "education":{"school":"teacher"} ]
}
{
"sex":{"male":{"mname":["Michael","Tom"]},"female":{"fname":["Alice","Katie"]}},
"age":[16,80],
"job":[{"medical":{"hospital":"doctor"}},{"education":{"school":"teacher"}}]
}