从 api 获取 json 时变量未定义
Variable undefined when getting json from api
我想知道为什么当我试图在我的 json.
中获取一个变量时它给我未定义
这是我正在执行的代码:
var options = {
host: url,
path: '/api/v1/outside_processes/active_companies?process_token=' + process_token,
method: 'POST'
};
http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (data) {
console.log(data);
console.log(data.data);
console.log(data["data"]);
console.log(data.paging);
});
}).end();
json 来自 api:
{
"data": [
{
"id": 37
...more data
},
{
"id": 15,
...more data
}
],
"paging": 0
}
我在控制台中得到了什么:
{"data":[{所有数据都在这里显示}],"paging":0}
未定义
未定义
未定义
看起来你的路由正在返回字符串化的 JSON。
尝试
jsonData = JSON.parse(data)
console.log(jsonData)
console.log(jsonData.data)
console.log(jsonData.paging)
当你控制它时,如果它是一个对象,它应该显示如下
Object {data: Array[2], paging: 0}
因为你的结果清楚地表明它是一个字符串,所以你需要按照上面的答案来解析它
我想知道为什么当我试图在我的 json.
中获取一个变量时它给我未定义这是我正在执行的代码:
var options = {
host: url,
path: '/api/v1/outside_processes/active_companies?process_token=' + process_token,
method: 'POST'
};
http.request(options, function(res) {
res.setEncoding('utf8');
res.on('data', function (data) {
console.log(data);
console.log(data.data);
console.log(data["data"]);
console.log(data.paging);
});
}).end();
json 来自 api:
{
"data": [
{
"id": 37
...more data
},
{
"id": 15,
...more data
}
],
"paging": 0
}
我在控制台中得到了什么:
{"data":[{所有数据都在这里显示}],"paging":0}
未定义
未定义
未定义
看起来你的路由正在返回字符串化的 JSON。
尝试
jsonData = JSON.parse(data)
console.log(jsonData)
console.log(jsonData.data)
console.log(jsonData.paging)
当你控制它时,如果它是一个对象,它应该显示如下
Object {data: Array[2], paging: 0}
因为你的结果清楚地表明它是一个字符串,所以你需要按照上面的答案来解析它