ich eine Anfrage an eine externe API von meinem Knotenserver machen:konnte nicht JSON analysieren
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));
});
Die erste Konsole gibt den Ausgang:
{ 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 } ] }
Das zweite Protokoll gibt mir eine ‚undefined '
Das dritte Protokoll gibt mir SyntaxError: Unexpected token u
Warum? Wie kann ich nur auf das Metadaten- oder Ergebnisfeld zugreifen?
Fast richtig, das OP * hat * definiert 'Körper', es ist nur die Zeichenfolge als dritter Parameter der Anfrage Rückruf gesendet, nicht das JS-Objekt der zweite Konsole Aussage erwartet – Paul
großartiger Ort, aktualisierte meine Antwort –