访问 JSON 对象的内容
Access content of JSON object
我正在尝试访问从 API 调用返回的 JSON 对象的内容,以便设置变量。
var request = require('request');
var apiOptions = { server : "http://localhost:3000" };
var renderAdminLanding = function(req, res, body){
var str = JSON.stringify(body.content, null, 2);
res.render('admin_landing', {
title: str});
}
module.exports.landing = function(req, res){
var reqOptions, path;
path = '/api/student';
reqOptions = {
url : apiOptions.server + path,
method : "GET",
json : true
}
request(reqOptions, function(err, response, body){
renderAdminLanding(req, res, body);
});
};
在这种情况下 body.content returns:
[ { "_id": "58ca92faa0c1e14922000008",
"name": "Smarty",
"password": "McSmartface",
"__v": 0,
"Courses": [] } ]
所以body.content.name,例如returns什么都没有。
正如@t.niese所说,body.content
是一个数组。您可以说它是一个数组,因为您的对象包含在方括号中:[{"myObject": 3}]
.
因为body.content
是一个数组,你必须得到你的对象在数组中的位置。虽然 body.content.name
不存在并且将 return 未定义或抛出错误,但 body.content[0].name
将 return Smarty
,这是您所期望的。
我正在尝试访问从 API 调用返回的 JSON 对象的内容,以便设置变量。
var request = require('request');
var apiOptions = { server : "http://localhost:3000" };
var renderAdminLanding = function(req, res, body){
var str = JSON.stringify(body.content, null, 2);
res.render('admin_landing', {
title: str});
}
module.exports.landing = function(req, res){
var reqOptions, path;
path = '/api/student';
reqOptions = {
url : apiOptions.server + path,
method : "GET",
json : true
}
request(reqOptions, function(err, response, body){
renderAdminLanding(req, res, body);
});
};
在这种情况下 body.content returns:
[ { "_id": "58ca92faa0c1e14922000008",
"name": "Smarty",
"password": "McSmartface",
"__v": 0,
"Courses": [] } ]
所以body.content.name,例如returns什么都没有。
正如@t.niese所说,body.content
是一个数组。您可以说它是一个数组,因为您的对象包含在方括号中:[{"myObject": 3}]
.
因为body.content
是一个数组,你必须得到你的对象在数组中的位置。虽然 body.content.name
不存在并且将 return 未定义或抛出错误,但 body.content[0].name
将 return Smarty
,这是您所期望的。