2013-05-05 115 views
0

我有一个通过json文件循环的问题。 我需要为每个根项目(我的意思是c0,c1,c2,...)和每个嵌套关键字(对于每个根关键字所具有的每个“系列”)执行另一个操作。循环浏览JSON对象

例如做C0动作和series.s0和C0 AMD conitune series.s1做一些动作....

这里是我的JSON文件:

{ 
    "c0": { 
     "name": "statistics", 
     "series": { 
      "s0": { 
       "name":"Inbound", 
       .... 
      }, 
      "s1": { 
       "name":"Outbound", 
       ... 

      } 
      } 
     }, 
    "c1": { 
     "name": "Packet statistics", 
     "series": { 
      "s0": { 
       "name":"pjS", 
       ... 
      }, 
      "s1": { 
       "name":"-----", 
       ... 
      } 
      } 
     }, 
    "c2": { 
     "name": "Bstatistics", 
     "series": { 
      "s0": { 
       "name":"Active", 
       .... 
      }, 
      "s1": { 
       "name":"SPI", 
       .... 

      } 
      } 
     }, 
    "c3": { 
     "name": "DPacket", 
     "series": { 
      "s0": { 
       "name":"policy", 
       ... 
      } 
      } 
     } 

     } 
+1

这些不是根元素,常规元素。我有一种感觉,你还没有尝试任何东西,那么'for'或'google'怎么样?提供一些您尝试过的示例代码,或者您将工作外包给stackoverflow.- – n00b 2013-05-05 15:36:04

+0

你试图循环它什么?你的*实际*问题是什么? – zmo 2013-05-05 15:36:19

+0

如果你控制JSON的结构,我会建议使用数组而不是带有递增键的对象,比如''c0“,”c1“,”c2“等' – 2013-05-05 15:38:29

回答

2

试试如:

var a = { 'c1': {...}, 'c2': {..}, 'c3': {...} }; 

console.log(a['c1']); // or alert(a['c1']) 

for (i in a) { 
    console.log(i); 
    for (j in a[i]) { 
     console.log(j); 
    } 
}