Ziehen Sie einen Wert aus JSON

stimmen
0

Also muss ich mit node.js. einen Wert aus einer 3rd-Party-Website ziehen Daten im JSON-Format. Mein Code funktioniert für andere ähnliche Ursachen, aber nicht für diese ein. Ich brauche den Preis aus dem nach Artikel zu ziehen. Die Daten werden auf diese Weise strukturiert:

 {
Glock-18 | Weasel (Battle-Scarred): 0.52,
PP-Bizon | Photic Zone (Minimal Wear): 0.18,
SSG 08 | Ghost Crusader (Field-Tested): 0.62,
Spectrum Case Key: 2.63,
Sticker | shroud (Foil) | Krakow 2017: 5.62,
Sticker | North | London 2018: 0.2,
XM1014 | Slipstream (Field-Tested): 0.08
}

Meine aktuellen Code sieht wie folgt aus:

var Request = require(request);
var name =Sticker | shroud (Foil) | Krakow 2017;

Request.get(url, (error, response, body) => {
    if(error) {
        return console.dir(error);
    }

    var object = JSON.parse(body);
    var price = object.name;
    console.log(price, price);
});

Irgendwelche Ideen, warum mein Preis ist immer ausgegeben als nicht definiert?

Veröffentlicht am 20/10/2018 um 12:44
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
2

Sie shoud verwenden versuchen , var price = object[name];weil Sie verwenden möchten , nameals eine Variable. object.namemacht das nicht.

Sie können jederzeit beheben mit console.log(object);sich selbst zu überzeugen, das Zeug geholt.

Die besten Ergebnisse erzielen, sollten Sie diese Art und Weise tun, die Fehlerprüfung. (Nie Websites vertrauen, oder?)

var object;
try {
    object = JSON.parse(body);
catch (e) {
   return console.dir('body not parseable', body, e);
}
if (!object) return console.dir('no object retrieved');
if (!object.hasOwnProperty(name)) return console.dir ('property not found', name);
var price = object[name];
console.log("price", price);
Beantwortet am 20/10/2018 um 13:03
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more