我需要遍历JSON对象中的每个元素,并且我在计算该对象中元素数量的方法时遇到问题,因此我可以使用for循环进行迭代。这是我的目标:
this.worldData =[
{"0":{"1":"0", "2":"0"},
"1":{"1":"0", "2":"0"},
"2":{"1":"0", "2":"0"}}
];
我正在尝试的事情:
alert(this.worldData.length);
问题是,无论我放入JSON对象中有多少元素,它总是返回1
。
答案 0 :(得分:1)
您是否可以控制JSON数据?长度返回1,因为数组中只有一个元素。这是因为JSON数据的构造方式在这里。如果你想要更容易迭代的东西,你会想要这样的东西:
this.worldData = [
{"1":"0","2":"0"},
{"1":"0","2":"0"},
{"1":"0","2":"0"}
]
请注意,对象(用{}
表示)没有长度属性,而数组(用[]
表示)则有。
答案 1 :(得分:0)
您将所有对象包装在单个对象(第一个和最后一个花括号)中。试试这个:
this.worldData =[
{"0":{"1":"0", "2":"0"}},
{"1":{"1":"0", "2":"0"}},
{"2":{"1":"0", "2":"0"}}
];