0
我从我的节点服务器进行外部API的请求:无法解析JSON
request("https://api.data.gov/ed/collegescorecard/v1/schools/?id=168421&api_key=", function(error, response, body) {
console.log(JSON.parse(body));
console.log(body.metadata);
console.log(JSON.parse(body.metadata));
});
第一控制台提供的输出:
{ metadata: { total: 1, page: 0, per_page: 20 },
results:
[ { '1996': [Object],
'1997': [Object],
'1998': [Object],
'1999': [Object],
'2000': [Object],
'2001': [Object],
'2002': [Object],
'2003': [Object],
'2004': [Object],
'2005': [Object],
'2006': [Object],
'2007': [Object],
'2008': [Object],
'2009': [Object],
'2010': [Object],
'2011': [Object],
'2012': [Object],
'2013': [Object],
'2014': [Object],
ope6_id: 2233,
location: [Object],
id: 168421,
school: [Object],
ope8_id: 223300 } ] }
第二日志给我一个“未定义“
第三日志给我SyntaxError: Unexpected token u
为什么?我如何只访问元数据或结果字段?
几乎正确的是,OP *具有*定义的“body”,它只是作为请求回调的第三个参数发送的字符串,而不是JS对象第二控制台声明期望 – Paul
伟大的地方,更新我的答案 –