2017-07-03 2 views
0

Wenn ich die Yahoo Finance API verwende, um Aktienkurse von einer bestimmten Firma abzurufen.Wie ruft man JSON-Daten ab, die von der Yahoo Finance API empfangen werden?

den folgenden JavaScript-Code verwenden, konnte ich Bestandsdaten abzurufen:

console.log(JSON.stringify(quotes[i], null, 2)); 

ich die folgende Ausgabe in meiner Konsole erhalten:

{ 
    "date": "2017-06-06T04:00:00.000Z", 
    "open": 153.899994, 
    "high": 155.809998, 
    "low": 153.779999, 
    "close": 154.449997, 
    "adjClose": 154.449997, 
    "volume": 26624900, 
    "symbol": "AAPL" 
} 

Also von hier, ich will auf anrufen nur der "close" -Index von diesem JSON-Objekt. Um dies zu tun, habe ich versucht, die folgenden in meinem Javascript hinzufügen:

var stockClose = JSON.parse(quotes[i]); 
    console.log(stockClose.close); 

Dies ist jedoch nicht die Konsole nicht anmelden, um den „close“ Index des Objekts JSON. Ich weiß, das ist wahrscheinlich ein wirklich dummer Fehler, den ich mache, und wäre dankbar, wenn mir jemand dabei helfen könnte, das zu debuggen. Wie kann ich den Index "close" aus dem Anführungszeichenobjekt abrufen?

+1

Es scheint, dass 'quotes [i]' bereits ein Objekt ist, also rufe 'JSON.parse()' nicht auf. Versuchen Sie 'quotes [i] .close'. * "und immer wieder Fehler" * - Was sind die spezifischen Fehlermeldungen? – nnnnnn

+0

Das hat funktioniert. Vielen Dank. – Hashim

Antwort

1

JSON.stringify() konvertiert einen JavaScript-Wert in eine JSON-Zeichenfolge.

JSON.parse() analysiert eine JSON-Zeichenfolge und erstellt den JavaScript-Wert oder das Objekt, das durch die Zeichenfolge beschrieben wird.

Basierend auf Ihrer Konsole Protokollinformationen können wir sehen, es ist bereits ein JSON object. Also lassen wir JSON.parse() Ihre Anführungszeichen [i] nicht analysieren.

Sie können entweder Anführungszeichen [i] .close oder Zitate [i] [ "close"] darauf zuzugreifen.

Verwandte Themen