循环遍历JS

时间:2017-06-16 15:12:52

标签: javascript json

我的JSON

[
 {
   "container":         
  [
    null,null,null,null,null
  ],

   "type":
  [
  "text","text","text","text","text"
  ],

   "role":
  [
    null,null,null,null,null
  ],

  "subtype":
  [
   null,null,null,null,null
  ],

  "maxlength":
  [
   null,null,ull,null,null

  ]

 }
]

我的代码

for(i=0; i<jsonString.length; i++){
        container = jsonString[i];
        console.log(container);
        for(j in container){
            console.log(container[j]);
        }
    }

Thia没有给我预期的结果。我知道有很多这类问题,但是我已经申请了其中几个,但无济于事。谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

你需要这个:

var keys = Object.keys(jsonString[0]);
keys.forEach(key => {
  container = jsonString[0][key];
  console.log(container);
  container.forEach(j => {
    console.log(j);
  });
});

编辑:

向后兼容语法:

var keys = Object.keys(jsonString[0]);
for (var i = 0; i < keys.length; i++) {
  container = jsonString[0][keys[i]];
  console.log(container);
  for (var j = 0; j < container.length; j++) {
    console.log(container[j]);
  }
}

答案 1 :(得分:0)

试试这个.... 如果您只想打印给定格式JSON的每个级别的值。

 yourJSON.forEach(function(e)
    { 
      container = Object.keys(e)
      console.log(container)
      container.forEach(function(key){
        containerValue = e[key]
        console.log(containerValue)
        containerValue.forEach(function(value){
          console.log(value)
        })
      })
    })