如何遍历JSON文件的响应文本?

时间:2018-02-10 23:42:51

标签: javascript jquery json

我有一个包含以下对象的JSON文件:

{
    "status": "ok",
    "feed": {

    },
    "items": [
        {
            "title": "",
            "author": ""

        },
        {
          "title": "",
           "author": ""
        },
        {
          "title": "",
           "author": ""
        }     
    ]
}

我想遍历这些项目,并获得标题和作者等每个项目数据。

我试过的代码:

var json = $.getJSON({'url':"filejson" , 'async': false});
json = JSON.parse(json.responseText); 
$.each(json, function(index , item) {
     console.log(json[index]);
});

4 个答案:

答案 0 :(得分:1)

它的同步版本似乎很奇怪,

var json = JSON.parse($.getJSON({'url':"filejson" , 'async': false}).responseText);
let items = json.items;
items.forEach(item=>{
    console.log(item.title, item.author);
})

作为旁注,你真的不应该使用async: false

答案 1 :(得分:0)

Object.keys(json).forEach(function(key) {
   console.log(json[key])
})

// or if supported/polyfilled

Object.values(json).forEach(function(value) {
   console.log(value)
})

答案 2 :(得分:0)

使用map()

data.map(d => ({title: d.title, author: d.author}));

答案 3 :(得分:0)

请使用以下代码

var json = $.getJSON({'url':"filejson" , 'async': false});
json = JSON.parse(json.responseText); 
$.each(json.items, function(key , value) {
     console.log(value['title'] + " : "+ value['author']);
});