Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON.parse数组嵌套元素不工作_Javascript_Arrays_Json - Fatal编程技术网

Javascript JSON.parse数组嵌套元素不工作

Javascript 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 {

我收到以下错误消息:

SyntaxError:JSON.parse:JSON数据第4行第18列的数组元素后面应该有“,”或“]”

我想这是因为我在数组中有一个对象,可能这是不允许的。但我需要有经验的开发人员对此进行确认。你能把对象放在json的数组中吗

HTML

<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"}}]
}