Nodejs JSON 属性未定义
Nodejs JSON property undefined
我正在尝试使用请求nodejs模块访问JSON GET响应中的属性。
当我收到响应时,我似乎无法打印特定属性。每次我尝试打印属性时,都会收到一个错误,指出它未定义。
我尝试字符串化和解析 JSON,但两者都不起作用。提前谢谢。
var request = require("request");
//The search query
var query = "TGI fridays";
//path of http request
var path = "https://maps.googleapis.com/maps/api/place/textsearch/json?query="+query+"&sensor=false&key=AIzaSyA-adbJAXBmOTGINrhWHskm4d7UU9dgnOU";
//function to print the json
var parser = function(text){
console.log(text);
}
//http request with callback
request(path,function(error, response, body){
parser(body.next_page_token); //a property from the json that comes up as undefined
})
这是一些 JSON
{
"debug_info" : [],
"html_attributions" : [],
"next_page_token" : "CjQsAAAAM5EDuFB7u9bIQ_3KeBsa894EjYv4ca3GVN45O2cBPWUaDFkebH7r_WQy2Jf-QqZZEhDUipJwL4YXDtanJ0euTGe4GhTs6PW_jM0Ops33vWwD-5aGsk7giQ",
"results" : [
{
"formatted_address" : "403 Camino Del Rio South, San Diego, CA, United States",
"geometry" : {
"location" : {
"lat" : 32.760091,
"lng" : -117.161897
}
},
"icon" : "http://maps.gstatic.com/mapfiles/place_api/icons/bar-71.png",
"id" : "29f39df87b93cf8b98062fdccc877a61fb45925a",
"name" : "TGI Fridays",
"opening_hours" : {
"open_now" : true
},
"photos" : [
{
"height" : 782,
"html_attributions" : [],
"photo_reference" : "CoQBdgAAAFw5rZL8KjKfsBudSV-fNyRQUy5kflYnWJUrsN8PHzVsrP8v3R5eCKkRJOUj8fXnAtXnZZ34G5BRoNys7mLd0QJ3LEj-tLeY9LSs4B9jOyNpaNAszEZDh9kyQkfWr4POMxqwKCYN5gxFsMB4-NvGoG3sFZaOOySOKs6vVNPPL9fVEhCKe8eESOot42-Zxm4MBPPaGhSsiMuJbzuIzOpqTcEHEsL1c6GXYg",
"width" : 1146
}
],
"price_level" : 2,
"rating" : 3.2,
"reference" : "CnRpAAAAp9SAKVfthj4gk3rSghMmI3_ZJaGTzGPhVtDsdtSyG3WunYPrYEN7dAA0iEmmsTLx3ANN9FAZZ6bVNnyUxWAwEFe8a-IsTSJZwNTYq-6fMujMZJgjTWgSSWo5LXy88NdccA3l-PQ2pX2Dnz4SnLy0dhIQ_hVBBDjk8QV2oOS-THq3BBoUKOSwQjmKFn5KeJq43p4JIkANwPU",
"types" : [ "bar", "restaurant", "food", "establishment" ]
},
Body 是一个字符串。 尝试:
//http request with callback
request(path,function(error, response, body){
body = JSON.parse(body);
parser(body.next_page_token); //a property from the json that comes up as undefined
})
结果(非常大的字符串):
CjQsAAAAls3nW7k5vyODIeouCv_HT_PBhB9s7KNftqBRiDWtJR3RY_KOLthW4TFj-2HNlnezEhDiq73Z83kFvtpQqWfuBb-AGhT6yoVHZHNe1EmM3UWe34jfs65oHg
注意:您也可以使用此表单告诉request
您期待 json:
request.get({url: path, json:true},function(error, response, body){
parser(body.next_page_token); //a property from the json that comes up as undefined
})
相关文章:
- 将对象作为参数传递后的未定义属性
- 检查链接对象形式中未定义属性的最佳实践是什么
- PhantomJS中的evalute内部未定义属性
- 访问数字类型的未定义属性
- 如何处理未定义属性的未定义属性 javascript 类型错误
- 返回未定义属性的脚本
- 类型错误:无法读取 ng-repeat 的未定义属性
- JavaScript-Disqus如何处理其“;disqus_config”;包含未定义属性的函数
- 是对HTMLElement#样式的未定义属性的赋值的返回值,保证与赋值相同
- 最好检查未定义属性或设置为空
- 如何解决这个未定义属性的node.js错误?
- 如何在JavaScript中挽救对象的未定义属性?
- AngularJS和PHP -注意:未定义属性:stdClass
- 主干模型删除未定义属性
- if else子句中未定义对象的未定义属性
- Javascript数组问题:无法读取未定义属性
- 当尝试使用未定义属性进行筛选时,Lodash将排除项
- 在Javascript数组的中途未定义属性
- Knockout arrayForEach未定义属性
- javascript中未定义属性的简写,初始化和赋值属性