返回JSON对象的元素数量

时间:2011-10-30 03:24:16

标签: javascript json count elements

我需要遍历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

2 个答案:

答案 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"}}
];

jsFiddle example