我在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);
});
});
答案 0 :(得分:1)
尝试使用data
变量来累积您的块,然后使用data.toString()
强制缓冲的内容为字符串,这将是可解析的JSON。
此外,您需要访问docs
数组的特定成员。
答案 1 :(得分:1)
你有没有试过这样的事情:
thatObject.response.docs.forEach((element) => { console.log( element.id ); });
property docks 是一个数组,因此您可以使用以下函数:forEach,for或者您想要的任何内容