Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.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对象的元素数_Javascript_Json_Count_Elements - Fatal编程技术网

Javascript 返回JSON对象的元素数

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

我需要迭代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

您将所有对象包装在单个对象中(第一个和最后一个花括号)。试试这个:

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"}
                 ]
请注意,对象(用
{}
表示)没有长度属性,而数组(用
[]
表示)有长度属性