Τραβώντας μια τιμή από JSON

ψήφοι
0

Γι 'αυτό και πρέπει να τραβήξει μια τιμή από ένα 3ο μέρος ιστοσελίδα με node.js. Τα δεδομένα είναι σε μορφή JSON. κωδικό μου δουλεύει για άλλες παρόμοιες αιτίες, αλλά όχι για αυτό. Θα πρέπει να τραβήξει την τιμή από το κατά στοιχείο. Τα δεδομένα είναι δομημένο με αυτόν τον τρόπο:

 {
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
}

τρέχοντα κωδικό μου πάει κάπως έτσι:

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);
});

Οποιεσδήποτε ιδέες γιατί η τιμή μου είναι πάντα εξόδου ως απροσδιόριστο;

Δημοσιεύθηκε 20/10/2018 στις 12:44
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
2

Θα πρέπει με επιχειρήσετε να χρησιμοποιήσετε var price = object[name];, επειδή θέλετε να χρησιμοποιήσετε nameως μεταβλητή. object.nameδεν το κάνουμε αυτό.

Μπορείτε πάντα να αντιμετωπίσετε με το console.log(object);να πείσει τον εαυτό σας παρατραβηγμένο το δικαίωμα πράγματα.

Για καλύτερα αποτελέσματα, θεωρούν κάνει λάθος έλεγχο με αυτόν τον τρόπο. (Ποτέ μην εμπιστεύεστε ιστοσελίδες, ε;)

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);
Απαντήθηκε 20/10/2018 στις 13:03
πηγή χρήστη

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