获取JSON中的特定字段

时间:2016-01-22 12:45:17

标签: json node.js

我在NodeJS中获取一些JSON字段时遇到问题。 这是我的JSON结构:

{
    "header":
    {
        "file1":0,
        "file2":1,
        "subfiles":{
          "subfile1":"true",
          "subfile2":"true",
        }
    },

    "response":
    {
        "number":678,
        "start":0,
        "docs":[
            {
                "id":"d3f3d",
                "code":"l876s",
                "country_name":"United States",
                "city":"LA"
            },
            {
                "id":"d2f2d",
                "code":"2343g",
                "country_name":"UK",
                "city":"London"
            }
        ]
    }
}

如何在这样的结构中访问特定字段(id,city或country_name)? 我正在NodeJS中尝试一些东西,但我无法获得特定的字段。

request('http://url.com', function (error, res, body) {
  if (!error && res.statusCode == 200) {
    console.log(body) 
  }

    res.on('data', function(chunk){
        body += chunk;
    });

    res.on('end', function(){
        var urlResponse = JSON.parse(body);
        console.log("Got a response: ", urlResponse.response.docs.city);
    });
});

2 个答案:

答案 0 :(得分:1)

尝试使用data变量来累积您的块,然后使用data.toString()强制缓冲的内容为字符串,这将是可解析的JSON。

此外,您需要访问docs数组的特定成员。

答案 1 :(得分:1)

你有没有试过这样的事情:

thatObject.response.docs.forEach((element) => { console.log( element.id ); });

property docks 是一个数组,因此您可以使用以下函数:forEach,for或者您想要的任何内容