Maison > interface Web > js tutoriel > Corriger et valider JSON en toute simplicité : un guide détaillé

Corriger et valider JSON en toute simplicité : un guide détaillé

Susan Sarandon
Libérer: 2024-12-29 09:55:10
original
870 Les gens l'ont consulté

Fixing and Validating JSON with Ease: An In-Depth Guide

Comprendre la structure JSON

JSON (JavaScript Object Notation) est un format d'échange de données léger, facile à lire et à écrire pour les humains et facile à analyser et à générer pour les machines. Il est composé de deux structures de base :

  1. Objets : une collection de paires clé/valeur entourées d'accolades {}.

    • Exemple : { "name": "John", "age": 30 }
  2. Tableaux : une collection ordonnée de valeurs entre crochets [].

    • Exemple : ["pomme", "banane", "cerise"]

Erreurs JSON courantes

Avant de vous lancer dans la correction et la validation de JSON, comprenons d'abord les problèmes courants auxquels vous pourriez être confronté avec JSON :

  1. Virgules manquantes ou supplémentaires : Une virgule finale à la fin d'un tableau ou d'un objet ou une virgule manquante peut conduire à un JSON invalide.

    • JSON invalide : { "name": "John", "age": 30, }
    • JSON correct : { "name": "John", "age": 30 }
  2. Clés sans guillemets : les clés JSON doivent toujours être placées entre guillemets (").

    • JSON invalide : { nom : "John" }
    • JSON correct : { "name": "John" }
  3. Types de données incorrects : Assurez-vous d'une utilisation correcte des types de données. Par exemple, les chaînes doivent être entre guillemets, les nombres ne doivent pas être entre guillemets.

    • JSON invalide : { "age": "30" } (l'âge est cité mais il doit s'agir d'un nombre)
    • JSON correct : { "age": 30 }
  4. Parenthèses incompatibles : assurez-vous toujours que les accolades {} et les crochets [] correspondent correctement.

    • JSON invalide : { "name": "John", "age": 30
    • JSON correct : { "name": "John", "age": 30 }
  5. Caractères invalides : les chaînes JSON ne peuvent contenir que certains caractères. Par exemple, les barres obliques inverses () doivent être échappées dans les chaînes.

    • JSON invalide : { "quote": "Ceci est une barre oblique inverse \" }
    • Corriger le JSON : { "quote": "Ceci est une barre oblique inverse \\" }

Comment réparer JSON

Pour corriger un JSON invalide, vous pouvez suivre ces étapes :

1. Réparer manuellement JSON

Si vous avez un petit morceau de JSON invalide, il peut être plus simple de le réparer manuellement. Voici une approche simple :

  • Étape 1 : Identifiez et corrigez les erreurs de syntaxe (comme les virgules, les crochets ou les guillemets manquants).
  • Étape 2 : Assurez-vous que toutes les clés sont entre guillemets doubles et que les valeurs sont du type correct (chaînes, nombres, booléens, tableaux, objets, null).
  • Étape 3 : Utilisez un validateur JSON (plus d'informations ci-dessous) pour confirmer que votre JSON est correctement structuré.

2. Utiliser les outils en ligne pour réparer JSON

Il existe plusieurs outils en ligne qui peuvent vous aider à corriger ou formater automatiquement JSON :

  • JSONLint (https://onlinejsonformatter.com) – Il vérifie la syntaxe de JSON et met en évidence les erreurs. Il peut également formater du JSON désordonné dans une structure lisible.
  • JSON Formatter & Validator (https://jsonformatter.curiousconcept.com/) – Cet outil permet de formater JSON et fournit des descriptions d'erreurs.
  • JSON Prettifier – Il peut vous aider à nettoyer et à rendre votre JSON plus lisible.

Ces outils mettent généralement en évidence les problèmes de syntaxe et fournissent des messages d'erreur qui peuvent vous diriger exactement vers l'endroit où se situe le problème, ce qui facilite sa résolution.

3. Utiliser un éditeur de code avec prise en charge JSON

De nombreux éditeurs de code (par exemple, Visual Studio Code, Sublime Text ou Atom) offrent des fonctionnalités spécifiques à JSON, telles que :

  • Surlignage de la syntaxe : les couleurs et la mise en forme vous aident à voir visuellement les crochets ou les guillemets qui ne correspondent pas.
  • Linting : des outils comme ESLint ou TSLint peuvent aider à signaler les problèmes dans les fichiers JSON.
  • Formatage automatique : les éditeurs comme VSCode ont des formateurs intégrés qui corrigeront automatiquement l'indentation JSON et supprimeront les espaces superflus.

Exemple en VS Code :

  1. Ouvrez votre fichier JSON.
  2. Cliquez sur Maj Alt F pour formater automatiquement et résoudre les problèmes d'espacement courants.
  3. Utilisez une extension comme Prettier pour un formatage JSON plus poussé.

4. Utiliser des langages de programmation pour corriger JSON

Si vous disposez d'un grand ensemble de données, l'utilisation d'un langage de programmation (tel que Python, JavaScript ou Go) peut être plus efficace. Par exemple, en Python, vous pouvez utiliser le module json pour valider et corriger JSON :

import json

# Read the JSON string from a file or input
input_json = '{"name": "John", "age": 30,}'

# Try to load and fix the JSON
try:
    parsed_json = json.loads(input_json)  # This will raise an error if the JSON is invalid
except json.JSONDecodeError as e:
    print(f"Invalid JSON: {e}")

# Correcting it manually or programmatically and revalidating
Copier après la connexion
Copier après la connexion

En JavaScript, vous pouvez utiliser JSON.parse() pour vérifier si le JSON est valide puis le modifier :

const inputJson = '{"name": "John", "age": 30,}';

try {
    const parsedJson = JSON.parse(inputJson); // Throws error if invalid
    console.log('Valid JSON:', parsedJson);
} catch (error) {
    console.log('Invalid JSON:', error.message);
}
Copier après la connexion
Copier après la connexion

Validation de JSON

La validation JSON consiste à vérifier si la chaîne JSON est correctement structurée et formatée. Cela peut se faire de plusieurs manières :

1. Utiliser les validateurs JSON

Il existe plusieurs outils de validation JSON gratuits disponibles en ligne :

  • JSONLint : collez votre JSON dans la case et cliquez sur « Valider JSON ». Il indiquera si votre JSON est valide ou mettra en évidence les endroits où il n'est pas valide.
  • JSON Formatter & Validator : Cet outil non seulement valide mais formate également le JSON de manière lisible.

2. Validation avec les langages de programmation

La plupart des langages de programmation ont des fonctions ou des bibliothèques intégrées pour valider JSON :

  • Python :
import json

# Read the JSON string from a file or input
input_json = '{"name": "John", "age": 30,}'

# Try to load and fix the JSON
try:
    parsed_json = json.loads(input_json)  # This will raise an error if the JSON is invalid
except json.JSONDecodeError as e:
    print(f"Invalid JSON: {e}")

# Correcting it manually or programmatically and revalidating
Copier après la connexion
Copier après la connexion
  • JavaScript :
const inputJson = '{"name": "John", "age": 30,}';

try {
    const parsedJson = JSON.parse(inputJson); // Throws error if invalid
    console.log('Valid JSON:', parsedJson);
} catch (error) {
    console.log('Invalid JSON:', error.message);
}
Copier après la connexion
Copier après la connexion
  • Partez :
  import json

  try:
      json_object = json.loads('{"name": "John", "age": 30}')
      print("Valid JSON")
  except ValueError as e:
      print("Invalid JSON", e)
Copier après la connexion

3. Utilisation de la validation de schéma JSON

Pour les structures JSON plus complexes, vous pouvez valider JSON par rapport à un Schéma JSON prédéfini. Un schéma JSON est un modèle qui définit la structure, les propriétés requises et les types de données d'un document JSON.

  • Le JSON Schema est comme un contrat qui définit à quoi devrait ressembler un JSON valide.
  • Des outils comme AJV (un autre JSON Schema Validator) en JavaScript ou la bibliothèque Python jsonschema peuvent vous aider à valider les données JSON par rapport à un schéma.

Exemple de schéma JSON :

  try {
      JSON.parse('{"name": "John", "age": 30}');
      console.log("Valid JSON");
  } catch (e) {
      console.log("Invalid JSON");
  }
Copier après la connexion

Validation de JSON en Python avec un schéma :

  import (
      "encoding/json"
      "fmt"
  )

  func main() {
      var jsonData = `{"name": "John", "age": 30}`
      var obj map[string]interface{}

      err := json.Unmarshal([]byte(jsonData), &obj)
      if err != nil {
          fmt.Println("Invalid JSON:", err)
      } else {
          fmt.Println("Valid JSON")
      }
  }
Copier après la connexion

Automatisation de la validation JSON

Pour l'intégration continue, les tests automatisés ou les environnements de production, vous souhaiterez peut-être automatiser la validation JSON à l'aide d'outils de build ou de pipelines CI (comme GitHub Actions, Jenkins, etc.).

  • Vous pouvez utiliser des outils comme JSONLint, plus jolis, ou écrire des scripts de validation personnalisés à l'aide de langages de programmation et les intégrer dans votre flux de travail.

Conclusion

La correction et la validation de JSON sont une compétence essentielle pour les développeurs, en particulier lorsqu'ils travaillent avec des API, des fichiers de configuration ou l'échange de données entre systèmes. Que vous travailliez avec de petits objets JSON ou de grands ensembles de données, comprendre les pièges courants, utiliser des outils en ligne, des langages de programmation ou la validation de schéma JSON peut améliorer considérablement la fiabilité et l'exactitude de vos données JSON.

En utilisant les bons outils, comme des validateurs en ligne, des éditeurs de code avec des fonctionnalités intégrées, ou même en automatisant le processus avec des scripts, vous pouvez vous assurer que votre formateur JSON est à la fois valide et facile à utiliser. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal