Travailler avec JSON en JavaScript : analyse et sérialisation en pratique
\n\nJSON (JavaScript Object Notation) est un format léger d'échange de données largement utilisé dans les applications web modernes. En JavaScript, la gestion du JSON est intégrée au niveau du langage, ce qui en fait un outil idéal pour l'échange de données entre le client et le serveur, ainsi que pour le stockage de configurations. Dans cet article, nous allons voir comment analyser et sérialiser du JSON dans l'environnement Node.js, avec des exemples pratiques et les meilleures pratiques.
\n\nQu'est-ce que JSON et pourquoi en a-t-on besoin ?
\nJSON est un format textuel basé sur la syntaxe des objets JavaScript. Il prend en charge les types de données suivants :
\n- \n
- Chaînes de caractères (entre guillemets doubles) \n
- Nombres (entiers et à virgule flottante) \n
- Valeurs booléennes (true/false) \n
- Tableaux \n
- Objets \n
- null \n
JSON est utilisé partout : des requêtes API aux fichiers de configuration (par exemple, package.json). Dans Node.js, JSON est le format principal pour l'échange de données entre microservices.
Analyse JSON : transformer une chaîne en objet
\nPour convertir une chaîne JSON en objet JavaScript, on utilise la méthode JSON.parse(). Voici un exemple de base :
const jsonString = '{"name": "Анна", "age": 30, "isStudent": false}';\nconst user = JSON.parse(jsonString);\n\nconsole.log(user.name); // "Анна"\nconsole.log(user.age); // 30\nconsole.log(user.isStudent); // false\n\nImportant : La chaîne JSON doit être strictement formatée. Toutes les clés et valeurs de chaînes doivent être entre guillemets doubles. Les guillemets simples ou les virgules finales provoqueront une erreur.
\n\nGestion des erreurs lors de l'analyse
\nLorsqu'on travaille avec des données externes (fichiers, API), il y a toujours un risque d'obtenir un JSON incorrect. Utilisez try...catch :
const fs = require('fs');\n\ntry {\n const data = fs.readFileSync('data.json', 'utf8');\n const parsed = JSON.parse(data);\n console.log('Analyse réussie :', parsed);\n} catch (error) {\n if (error instanceof SyntaxError) {\n console.error('Erreur de syntaxe JSON :', error.message);\n } else {\n console.error('Erreur de lecture du fichier :', error.message);\n }\n}\n\nAnalyse avec une fonction de révision
\nLa méthode JSON.parse() accepte un deuxième argument — une fonction qui peut transformer les valeurs. Cela est utile, par exemple, pour convertir des dates sous forme de chaîne en objets Date :
const json = '{"name": "Иван", "birthDate": "1990-05-15T00:00:00Z"}';\nconst user = JSON.parse(json, (key, value) => {\n if (key === 'birthDate') {\n return new Date(value);\n }\n return value;\n});\n\nconsole.log(user.birthDate instanceof Date); // true\nconsole.log(user.birthDate.getFullYear()); // 1990\n\nSérialisation JSON : transformer un objet en chaîne
\nLe processus inverse — la conversion d'un objet JavaScript en chaîne JSON — s'effectue avec JSON.stringify().
const user = {\n name: 'Мария',\n age: 25,\n skills: ['JavaScript', 'Node.js', 'Python'],\n isActive: true\n};\n\nconst jsonString = JSON.stringify(user);\nconsole.log(jsonString);\n// {"name":"Мария","age":25,"skills":["JavaScript","Node.js","Python"],"isActive":true}\n\nFormatage de la sortie
\nPour améliorer la lisibilité, vous pouvez ajouter des indentations :
\n\nconst prettyJson = JSON.stringify(user, null, 2);\nconsole.log(prettyJson);\n/*\n{\n "name": "Мария",\n "age": 25,\n "skills": [\n "JavaScript",\n "Node.js",\n "Python"\n ],\n "isActive": true\n}\n*/\n\nFiltrage et remplacement de valeurs
\nLe deuxième argument de JSON.stringify() peut être un tableau de clés (pour le filtrage) ou une fonction de remplacement :
Blogs
Book Recommendations
Lire aussi
Conteneurisation d'applications Swift avec Docker : guide complet pour développeur
API GraphQL avec C# : tutoriel pas à pas pour débutants
Programmation asynchrone en Java : guide complet 2024
Tableaux constants en Go : comment les déclarer sans perdre la tête
Files d'attente de tâches en TypeScript : guide pratique