Convertisseur JSON vers objet JavaScript
Du JSON strict peut être converti en objet JavaScript avec JSON.parse. Les littéraux d’objet JavaScript nécessitent un nettoyage avant d’être du JSON valide.
Convertir du JSON en JavaScript
Si l’entrée est déjà du JSON valide, le convertisseur le plus sûr est JSON.parse(jsonText). Il renvoie un objet, tableau, chaîne, nombre, booléen ou null JavaScript, sans exécuter de code.
Entrée JSON
{ "name": "Ada", "active": true, "skills": ["math", "notes"] }
Utilisation en JavaScript
const user = JSON.parse(jsonText); console.log(user.name);
L’entrée littéral d’objet n’est pas du JSON
Un littéral d’objet JavaScript comme { name: 'Ada', active: true } n’est pas du JSON. Avant de le passer à JSON.parse, réparez les clés sans guillemets, convertissez les guillemets simples en doubles, supprimez les commentaires et retirez les virgules finales.
Quand éviter eval
N’utilisez pas eval pour transformer du texte inconnu en objet. eval exécute du code. JSON.parse, lui, ne fait que parser des données — c’est pourquoi le JSON strict est plus sûr pour les payloads d’API, la configuration, les logs et les exemples collés.
Cas limites : dates, undefined et fonctions
JSON n’a pas de type Date, undefined ou fonction. Les dates voyagent comme des chaînes ISO, les undefined disparaissent au stringify, et les fonctions ne peuvent pas être représentées du tout. Si un objet JavaScript en contient, le JSON résultant sera une capture avec perte — restaurez les types explicitement avec une fonction reviver dans JSON.parse.
TypeScript et types inférés
JSON.parse renvoie 'any' parce que le parser ne peut pas connaître la forme à l’avance. Pour un accès typé, soit déclarez un type de retour (JSON.parse(text) as User) après validation avec une bibliothèque de schémas comme zod ou io-ts, soit générez une interface depuis un exemple via l’outil JSON to TypeScript.
Sens inverse : objet vers JSON
JSON.stringify(value, null, 2) produit du JSON formaté à partir d’une valeur JavaScript. Il jette en silence undefined, les fonctions et les clés Symbol ; les références circulaires lèvent une erreur. Passez une fonction replacer en deuxième argument pour contrôler les champs qui survivent — utile pour retirer les internes avant d’envoyer un objet sur le réseau.
Voir aussi
Ce guide fait partie du workflow de réparation de la sortie d'un LLM — supprimer les délimiteurs de code, corriger le style de guillemets, valider avant l'analyse.
Guides de réparation JSON
Pôles thématiques
- Erreurs d'analyse JSON : lisez le message, allez droit à la solution
- Réparer du JSON non valide : de « qu'est-ce qui cloche » à un fichier propre
- Formateur, validateur, visualiseur JSON : choisir le bon outil
- Réparer la sortie JSON d'un LLM : gérer le presque-JSON de l'IA
- Confidentialité : des outils JSON qui ne quittent pas votre navigateur
- Interopérabilité JSON : YAML, CSV, XML, JWT, Schema
Guides spécifiques
- Comment décoder des chaînes Base64 (et des payloads JWT)
- Encodage URL : encodez les paramètres de requête et les chemins
- Convertir YAML en JSON (et éviter les erreurs d’indentation)
- Convertir JSON en CSV : aplatir un tableau d’objets
- Convertir JSON en XML : racine, attributs et tableaux
- Échapper du JSON comme littéral de chaîne (et décoder du JSON doublement encodé)
- Corriger les virgules finales en JSON
- Corriger les guillemets simples en JSON
- Corriger les clés sans guillemets en JSON
- Réparer le JSON produit par un LLM
- Corriger l’erreur de parse JSON : Expected Property Name
- JSON vs littéral d’objet JavaScript
- Validez le JSON avant les requêtes API
- Formateur JSON vs JSON Repair
- Corriger les erreurs JSON Unexpected Token