Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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 使用JS解析Json中的嵌套对象_Javascript_Jquery_Json_Parsing_Loops - Fatal编程技术网

Javascript 使用JS解析Json中的嵌套对象

Javascript 使用JS解析Json中的嵌套对象,javascript,jquery,json,parsing,loops,Javascript,Jquery,Json,Parsing,Loops,我有一个Json格式: {"year":{"month1":{"date1":{"device1":{"users":6}}}} 样本: {"2013":{"2":{"5":{"GT-N7000":{"users":1}},"6":{"GT-N7000":{"users":9},"HTC Sensation Z710a":{"users":1}},"7":{"GT-N7000":{"users":15},"HTC Sensation Z710a":{"users":2},"M903":{"us

我有一个Json格式:

{"year":{"month1":{"date1":{"device1":{"users":6}}}}
样本:

{"2013":{"2":{"5":{"GT-N7000":{"users":1}},"6":{"GT-N7000":{"users":9},"HTC Sensation Z710a":{"users":1}},"7":{"GT-N7000":{"users":15},"HTC Sensation Z710a":{"users":2},"M903":{"users":1}}}}}
如何从Json生成新的用户数组。例如:

GT-N7000 = [1, 9, 15]
M903 = [1]

我尝试了嵌套
for
循环,也尝试了
for..in
循环。我肯定我犯了一个错误。您知道如何过滤/解析此类嵌套json对象所需的信息吗?

大多数现代浏览器都支持原生json.parse方法。有关详细信息,请参见此问题

大多数现代浏览器都支持本机JSON.parse方法。有关详细信息,请参见此问题

我想您会这样做:

var json = {"2013":{"2":{"5":{"GT-N7000":{"users":1}},"6":{"GT-N7000":{"users":9},"HTC Sensation Z710a":{"users":1}},"7":{"GT-N7000":{"users":15},"HTC Sensation Z710a":{"users":2},"M903":{"users":1}}}}}; 

var result = {}, year, month, date, item;
for (year in json) {
  for(month in json[year]) {
    for(date in json[year][month]) {
       for(item in json[year][month][date]) {
          if(item in result) {
              result[item].push(json[year][month][date][item].users)  // this bit might need editing?
          } else {
              result[item] = [json[year][month][date][item].users] // this be also might need editing
          }
       }
    }
  }
}

我可以想象你会这样做:

var json = {"2013":{"2":{"5":{"GT-N7000":{"users":1}},"6":{"GT-N7000":{"users":9},"HTC Sensation Z710a":{"users":1}},"7":{"GT-N7000":{"users":15},"HTC Sensation Z710a":{"users":2},"M903":{"users":1}}}}}; 

var result = {}, year, month, date, item;
for (year in json) {
  for(month in json[year]) {
    for(date in json[year][month]) {
       for(item in json[year][month][date]) {
          if(item in result) {
              result[item].push(json[year][month][date][item].users)  // this bit might need editing?
          } else {
              result[item] = [json[year][month][date][item].users] // this be also might need editing
          }
       }
    }
  }
}

请发布您的代码,我们可能会帮助您。请发布您的代码,我们可能会帮助您。