1005 votes

Comment analyser JSON à l’aide de NodeJS ?

Comment dois-je analyser JSON à l’aide de node.js ? Y a-t-il un module qui validera et parse JSON en toute sécurité ?

1123voto

Felix Kling Points 247451

Vous pouvez simplement utiliser JSON.parse.

node.js construit sur la V8, qui fournit de l'objet global JSON[docs]. La définition de l' JSON objet fait partie de la spécification ECMAScript 5.

669voto

eliocs Points 3607

vous pouvez exiger les fichiers .json.

Par exemple, si vous avez un `` fichier dans le même répertoire que votre fichier de code source, vous utiliseriez :

ou (extension de fichier peut être omise) :

Notez que `` ne lit le fichier une fois que, suite à des appels retour le résultat du cache

333voto

Krumia Points 2337

Vous pouvez utiliser JSON.parse().

AVERTISSEMENT: Si vous n'êtes pas sûr si ce qui est transmis à l' JSON.parse() est JSON valide, assurez-vous de joindre l'appel à JSON.parse() à l'intérieur d'un try/catch bloc.

L'analyse d'une chaîne de caractères contenant les données JSON

var str = '{ "name": "John Doe", "age": 42 }';
var json = JSON.parse(str);

L'analyse d'un fichier contenant des données JSON

Vous aurez à faire quelques opérations sur les fichiers avec l' fs module de:

var fs = require('fs');

Ensuite, vous pouvez lire les données de manière asynchrone/synchrone.

Version asynchrone

fs.readFile('/path/to/file.json', 'utf8', function (err, data) {
    if (err) throw err; // we'll not consider error handling for now
    var json = JSON.parse(data);
});

Version synchrone

var json = JSON.parse(fs.readFileSync('/path/to/file.json', 'utf8'));

AVERTISSEMENT: Vous pouvez également utiliser require, mais ce n'est pas recommandé:

var json = JSON.parse(require('path/to/file.json'));

require va lire le fichier qu'une seule fois. Les appels ultérieurs require le même fichier sera de retour une copie mise en cache. Pas une bonne idée si vous voulez lire un .json fichier est mis à jour continuellement.

jsonfile module

Si vous êtes à la lecture d'un grand nombre de .json fichiers, (et si vous êtes très paresseux), il devient gênant pour écrire du code réutilisable à chaque fois. Vous pouvez enregistrer certains caractères à l'aide de l' jsonfile module.

85voto

zyklus Points 31683

Utilisez l' objet JSON:

35voto

Haider Points 380

Je tiens à mentionner qu’il existe des solutions de rechange à l’objet global de JSON. JSON.parse et JSON.stringify sont à la fois synchrones, alors si vous voulez traiter les gros objets vous voudrez vérifier certains des modules JSON asynchrones.

Jetez un coup d’oeil : https://github.com/joyent/node/wiki/Modules#wiki-parsers-json

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X