Wie sollte ich JSON mit Node.js parsen? Gibt es ein Modul, das JSON sicher validieren und parsen kann?
Antworten
Zu viele Anzeigen?Ich möchte erwähnen, dass es Alternativen zum globalen JSON-Objekt gibt. JSON.parse
y JSON.stringify
sind beide synchron, wenn Sie also mit großen Objekten arbeiten wollen, sollten Sie sich vielleicht einige der asynchronen JSON-Module ansehen.
Schauen Sie selbst: https://github.com/joyent/node/wiki/Modules#wiki-parsers-json
Fügen Sie die node-fs
Bibliothek.
var fs = require("fs");
var file = JSON.parse(fs.readFileSync("./PATH/data.json", "utf8"));
Weitere Informationen zur 'fs'-Bibliothek finden Sie in der Dokumentation unter http://nodejs.org/api/fs.html
Da Sie nicht wissen, dass Ihre Zeichenkette tatsächlich gültig ist, würde ich sie zuerst in einen Try-Catch einfügen. Auch da Try-Catch-Blöcke nicht von Knoten optimiert sind, würde ich die ganze Sache in eine andere Funktion setzen:
function tryParseJson(str) {
try {
return JSON.parse(str);
} catch (ex) {
return null;
}
}
OR im "asynchronen Stil"
function tryParseJson(str, callback) {
process.nextTick(function () {
try {
callback(null, JSON.parse(str));
} catch (ex) {
callback(ex)
}
})
}