Travailler avec JSON en JavaScript : analyse et sérialisation des données

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction à JSON et son rôle dans le JavaScript moderne



JSON (JavaScript Object Notation) est un format léger d'échange de données qui est devenu le standard de facto pour la transmission d'informations entre le client et le serveur. Bien que le nom contienne "JavaScript", JSON est un format indépendant du langage, mais sa syntaxe est très proche de celle des objets JavaScript. Dans l'environnement Node.js, travailler avec JSON est une tâche quotidienne pour tout développeur backend : de la lecture des fichiers de configuration au traitement des requêtes API.



Dans cet article, nous allons détailler deux méthodes clés pour travailler avec JSON en JavaScript : JSON.parse() pour l'analyse (conversion d'une chaîne en objet) et JSON.stringify() pour la sérialisation (conversion d'un objet en chaîne). Vous apprendrez non seulement les bases, mais aussi des techniques avancées qui vous aideront à écrire un code plus fiable et plus performant sur Node.js.



JSON.parse() : Conversion d'une chaîne en objet JavaScript



La méthode JSON.parse() prend une chaîne au format JSON et retourne l'objet JavaScript correspondant. C'est l'opération principale lors de la réception de données depuis une API ou de la lecture de fichiers JSON.



Syntaxe de base et exemple simple



La syntaxe de la méthode est extrêmement simple :



JSON.parse(text[, reviver])


Où text est la chaîne JSON, et le paramètre optionnel reviver est une fonction qui peut transformer les valeurs avant de les retourner.



Considérons un exemple de base :



const jsonString = '{"name": "Node.js", "version": 18, "features": ["async", "await"]}';const parsedObject = JSON.parse(jsonString);

console.log(parsedObject.name); // "Node.js"console.log(parsedObject.version); // 18console.log(parsedObject.features); // ["async", "await"]


Gestion des erreurs lors de l'analyse



L'une des erreurs les plus fréquentes est la tentative d'analyser un JSON invalide. Dans Node.js, cela entraîne le déclenchement d'une exception SyntaxError. Utilisez toujours la construction try...catch pour une analyse sécurisée :



const invalidJson = '{"name": "Node.js", version: 18}'; // Erreur : clé version sans guillemets

try { const data = JSON.parse(invalidJson); console.log(data);} catch (error) { if (error instanceof SyntaxError) { console.error('Erreur d\'analyse JSON :', error.message); // Affichage : Erreur d'analyse JSON : Expected property name in JSON at position 27 }}


Utilisation du paramètre reviver pour la transformation des données



Le paramètre reviver permet de modifier les valeurs pendant l'analyse. C'est particulièrement utile pour convertir des chaînes de dates en objets Date :



const jsonWithDate = '{"event": "Conférence", "date": "2024-12-15T10:00:00Z"}';

const result = JSON.parse(jsonWithDate, (key, value) => { if (key === 'date') { return new Date(value); } return value;});

console.log(result.date instanceof Date); // trueconsole.log(result.date.toLocaleDateString('fr-FR')); // 15/12/2024


JSON.stringify() : Conversion d'un objet en chaîne JSON



La méthode JSON.stringify() effectue l'opération inverse — convertit un objet JavaScript en chaîne JSON. Cela est nécessaire lors de l'envoi de données au serveur ou de la sauvegarde de l'état dans un fichier.



Syntaxe et exemples de base



La syntaxe complète de la méthode comprend trois paramètres :



JSON.stringify(value[, replacer[, space]])


  • value — l'objet à sérialiser (obligatoire)
  • replacer — une fonction ou un tableau pour filtrer les propriétés (optionnel)
  • space — le nombre d'espaces pour le formatage (optionnel)


Exemple simple de sérialisation :



const user = {    id: 101,    name: "Alexei",                

Blogs

Book Recommendations