Formateur JSON
Formatez et validez vos données JSON pour les rendre plus faciles à lire et à déboguer. Prend en charge les fonctions de minification, d'embellissement et de coloration syntaxique.
Comment utiliser le formateur JSON
Étapes d'utilisation
- Collez vos données JSON dans la zone de saisie à gauche.
- Cliquez sur le bouton "Formater" pour mettre en forme les données JSON de manière lisible.
- Cliquez sur le bouton "Minifier" pour compresser les données JSON en une seule ligne.
- Cliquez sur le bouton "Correction auto" pour corriger automatiquement les erreurs de syntaxe JSON courantes.
- Cliquez sur le bouton "Copier" pour copier le résultat dans le presse-papiers.
- Cliquez sur le bouton "Effacer" pour vider les zones d'entrée et de sortie.
- Utilisez le commutateur "Échapper la sortie" pour échapper la sortie pour l'intégration dans le code du programme.
- Utilisez le commutateur "Mode sombre" pour changer le thème d'affichage.
Exemple d'échappement de sortie
Lorsque l'échappement de sortie est activé, les chaînes JSON sont échappées pour l'intégration directe dans le code du programme. Par exemple :
Sortie normale ::
{
"message": "Hello \"World\"",
"newline": "Line 1\nLine 2"
}
Sortie échappée ::
{\n \"message\": \"Hello \\\"World\\\"\",\n \"newline\": \"Line 1\\nLine 2\"\n}
Caractéristiques
- Format automatique : embellissez vos données JSON avec une indentation et des sauts de ligne appropriés.
- Validation syntaxique : vérifiez les erreurs de syntaxe dans vos données JSON et fournissez des messages d'erreur.
- Coloration syntaxique : marquez les paires clé-valeur JSON et les types de données avec différentes couleurs.
- Fonction de minification : convertissez le JSON formaté en une forme compacte d'une seule ligne pour réduire la taille des données.
- Correction automatique : corrigez automatiquement les erreurs de syntaxe JSON courantes comme les clés non quotées et les virgules de fin.
- Échapper la sortie : échappez les chaînes JSON pour l'intégration directe dans le code du programme.
- Traitement local : tout le traitement des données est effectué dans votre navigateur, rien n'est téléchargé sur les serveurs.
- Traitement en temps réel : les changements d'entrée sont automatiquement traités et les résultats sont mis à jour.
Qu'est-ce que JSON?
JSON (JavaScript Object Notation) est un format léger d'échange de données facile à lire et à écrire pour les humains, et facile à analyser et à générer pour les machines. JSON est basé sur un sous-ensemble du langage JavaScript, mais c'est un format texte complètement indépendant du langage pris en charge par la plupart des langages de programmation pour l'analyse et la génération. JSON a été proposé par Douglas Crockford au début des années 2000 et a été normalisé dans ECMA-404 et RFC 8259.
Règles de syntaxe JSON
- Les données sont représentées sous forme de paires clé/valeur
- Les données sont séparées par des virgules
- Les accolades {} contiennent des objets
- Les crochets [] contiennent des tableaux
- Les clés doivent être des chaînes entre guillemets doubles
- Les valeurs peuvent être des chaînes, des nombres, des objets, des tableaux, des booléens ou null
Types de données JSON
| Type | Description | Exemple |
|---|---|---|
| Chaîne | Séquence de caractères Unicode entre guillemets doubles | "Hello World" |
| Nombre | Entier ou nombre à virgule flottante, valeurs non numériques non prises en charge | 42, 3.14 |
| Objet | Collection non ordonnée de paires clé/valeur | {"name": "John"} |
| Tableau | Collection ordonnée de valeurs | [1, 2, 3] |
| Booléen | true ou false | true |
| null | Valeur vide | null |
Algorithme de formatage JSON
Le processus de formatage JSON implique principalement deux étapes : l'analyse et la régénération. D'abord, l'analyseur lit la chaîne JSON et construit une représentation en mémoire, puis le formateur régénère la chaîne avec une indentation spécifique et des sauts de ligne. Voici un processus de formatage simplifié :
// Simplified JSON formatting implementation
function formatJSON(jsonStr, indentSize = 2) {
try {
// Step 1: Parse JSON string to JavaScript object
const obj = JSON.parse(jsonStr);
// Step 2: Convert object back to string with indentation
return JSON.stringify(obj, null, indentSize);
} catch (e) {
// Handle invalid JSON
throw new Error("Invalid JSON: " + e.message);
}
}
// Usage example
const uglyJson = '{"name":"John","age":30,"city":"New York"}';
const prettyJson = formatJSON(uglyJson);
console.log(prettyJson);
/*
Output:
{
"name": "John",
"age": 30,
"city": "New York"
}
*/
Comparaison de JSON et XML
| Fonctionnalité | JSON | XML |
|---|---|---|
| Syntaxe | Concis, utilisant des accolades et des crochets | Plus complexe, utilisant des balises et des attributs |
| Taille du fichier | Généralement plus petit que XML | Généralement plus grand que JSON |
| Vitesse d'analyse | Plus rapide | Plus lent |
| Types de données | Prend en charge les types de données de base | Toutes les données sont du texte |
| Espaces de noms | Non pris en charge | Pris en charge |
| Commentaires | Non pris en charge | Pris en charge |
| Utilisabilité | Plus convivial pour les développeurs | Plus structuré et rigoureux |
Problèmes courants et solutions
Problème : erreur d'analyse JSON - virgule ou parenthèse manquante
Solution : vérifiez toutes les parenthèses fermantes des objets et des tableaux, assurez-vous que chaque paire clé/valeur est suivie d'une virgule (sauf la dernière).
Problème : erreur d'analyse JSON - valeur de clé non valide
Solution : assurez-vous que toutes les clés sont entourées de guillemets doubles, les guillemets simples ou les noms de clés non entourés de guillemets ne sont pas pris en charge.
Problème : problème de taille des données JSON
Solution : pour les données JSON volumineuses, envisagez d'utiliser la version compressée pour la transmission, puis formatez-la pour l'affichage sur le client.
Pour plus d'informations officielles sur JSON, veuillez consulter les ressources suivantes : JSON.org | RFC 8259 | Wikipédia: JSON
Outils Connexes
Convertisseur JSON YAML
Conversion bidirectionnelle entre JSON et YAML avec indentation personnalisée et styles flux/bloc
Convertisseur JSON CSV
Conversion bidirectionnelle entre JSON et CSV avec aplatissement d'objets imbriqués et délimiteurs personnalisés
Formateur XML
Formater et valider les données XML avec mise en évidence de la syntaxe