Javascript 返回JSON对象的元素数
我需要迭代JSON对象中的每个元素,我很难找到一种方法来计算该对象中的元素数,以便使用for循环进行迭代。这是我的目标:Javascript 返回JSON对象的元素数,javascript,json,count,elements,Javascript,Json,Count,Elements,我需要迭代JSON对象中的每个元素,我很难找到一种方法来计算该对象中的元素数,以便使用for循环进行迭代。这是我的目标: this.worldData =[ {"0":{"1":"0", "2":"0"}, "1":{"1":"0", "2":"0"}, "2":{"1":"0", "2":"0"}} ]; 我正在尝试的是: alert(thi
this.worldData =[
{"0":{"1":"0", "2":"0"},
"1":{"1":"0", "2":"0"},
"2":{"1":"0", "2":"0"}}
];
我正在尝试的是:
alert(this.worldData.length);
问题是,无论我在JSON对象中添加了多少元素,它总是返回
1
。您将所有对象包装在单个对象中(第一个和最后一个花括号)。试试这个:
this.worldData =[
{"0":{"1":"0", "2":"0"}},
{"1":{"1":"0", "2":"0"}},
{"2":{"1":"0", "2":"0"}}
];
.您可以控制JSON数据吗?长度返回1,因为数组中只有一个元素。这是因为这里JSON数据的结构。如果您想要更易于迭代的内容,您可能需要以下内容:
this.worldData = [
{"1":"0","2":"0"},
{"1":"0","2":"0"},
{"1":"0","2":"0"}
]
请注意,对象(用{}
表示)没有长度属性,而数组(用[]
表示)有长度属性