JavaScript:
Travailler avec JSON
Comment faire :
Analyser du JSON
Pour convertir une chaîne JSON en un objet JavaScript, utilisez JSON.parse()
.
const jsonString = '{"name":"John", "age":30, "city":"New York"}';
const obj = JSON.parse(jsonString);
console.log(obj.name); // Sortie: John
Transformer des Objets JavaScript en Chaînes JSON
Pour reconvertir un objet JavaScript en une chaîne JSON, utilisez JSON.stringify()
.
const user = { name: "Jane", age: 25, city: "London" };
const jsonString = JSON.stringify(user);
console.log(jsonString); // Sortie: {"name":"Jane","age":25,"city":"London"}
Travailler avec des Fichiers dans Node.js
Pour lire un fichier JSON et le convertir en un objet dans un environnement Node.js, vous pouvez utiliser le module fs
. Cet exemple suppose que vous avez un fichier nommé data.json
.
const fs = require('fs');
fs.readFile('data.json', 'utf-8', (err, data) => {
if (err) throw err;
const obj = JSON.parse(data);
console.log(obj);
});
Pour écrire un objet dans un fichier JSON :
const fs = require('fs');
const user = { name: "Mike", age: 22, city: "Berlin" };
fs.writeFile('user.json', JSON.stringify(user, null, 2), (err) => {
if (err) throw err;
console.log('Données écrites dans le fichier');
});
Bibliothèques Tiers
Pour des opérations JSON complexes, des cadres et bibliothèques comme lodash
peuvent simplifier les tâches, mais pour des opérations de base, les fonctions JavaScript natives sont souvent suffisantes. Pour des applications à grande échelle ou critiques en termes de performance, vous pouvez considérer des bibliothèques comme fast-json-stringify
pour une sérialisation JSON plus rapide ou json5
pour l’analyse et la sérialisation en utilisant un format JSON plus flexible.
Analyse avec json5
:
const JSON5 = require('json5');
const jsonString = '{name:"John", age:30, city:"New York"}';
const obj = JSON5.parse(jsonString);
console.log(obj.name); // Sortie: John
Ces exemples couvrent les opérations de base avec JSON en JavaScript, parfait pour les débutants en transition d’autres langues et cherchant à gérer les données dans les applications Web efficacement.