循环遍历JSON

时间:2017-05-25 14:26:10

标签: javascript json

如何在javascript这种结构中循环遍历json。先感谢您。

{
  "logged_in": true,
  "town": "Dublin",
  "state": "Ohio",
  "country": "USA",
  "urls": [{
    "0": {
      "url": "wwww.nba.com"
    },
    "1": {
      "url": "www.searchpage.com"
    }
  }],
  "keywords": [{
    "0": {
      "keyword": "install"
    },
    "1": {
      "keyword": "how%20to%20install"
    }
  }]
}​

2 个答案:

答案 0 :(得分:0)

如果您希望使用此类结构迭代urlskeywords属性,那么

// iterate over urls
for (let index in obj.urls[0]) {
    let value = obj.urls[0][index];
    console.log(value);
}

// iterate over keywords
for (let index in obj.keywords[0]) {
    let value = obj.keywords[0][index];
    console.log(value);
}

答案 1 :(得分:0)

嗯,你有一个对象和对象有属性,所以我们需要迭代这些属性......



var jsonResult = `{
  "logged_in": true,
  "town": "Dublin",
  "state": "Ohio",
  "country": "USA",
  "urls": [{
    "0": {
      "url": "wwww.nba.com"
    },
    "1": {
      "url": "www.searchpage.com"
    }
  }],
  "keywords": [{
    "0": {
      "keyword": "install"
    },
    "1": {
      "keyword": "how%20to%20install"
    }
  }]
}`;

var jObj = JSON.parse(jsonResult);

(function listProps(obj){
  for(var prop in obj){
    if(typeof obj[prop] === "object"){
      listProps(obj[prop]);
    } else {
      console.log(prop + ":" + obj[prop]);
    }
  }
})(jObj);