1032 Stimmen

Wie parst man JSON mit Node.js?

Wie sollte ich JSON mit Node.js parsen? Gibt es ein Modul, das JSON sicher validieren und parsen kann?

35voto

Haider Punkte 618

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

30voto

Abhishek Verma Punkte 489

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

12voto

Vlad Punkte 191

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

9voto

Burcu Dogan Punkte 9017

Parsen eines JSON-Streams? Verwenden Sie JSONStream .

var request = require('request')
  , JSONStream = require('JSONStream')

request({url: 'http://isaacs.couchone.com/registry/_all_docs'})
    .pipe(JSONStream.parse('rows.*'))
    .pipe(es.mapSync(function (data) {
      return data
    }))

https://github.com/dominictarr/JSONStream

7voto

debianmaster Punkte 505
JSON.parse("your string");

Das ist alles.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X