📋
← Retour aux guides

Erreurs de syntaxe JSON courantes et comment les corriger Ă  l'aide d'un validateur

· Tags: json, json-errors, json-validation, json-syntax, debugging, developer-tips

Erreurs JSON courantes

Les rĂšgles de syntaxe strictes de JSON signifient qu'un seul caractĂšre mal placĂ© peut casser tout un document. Comprendre les erreurs JSON les plus courantes vous aidera Ă  dĂ©boguer plus rapidement et Ă  Ă©viter de rĂ©pĂ©ter les mĂȘmes erreurs. Voici les problĂšmes les plus frĂ©quents rencontrĂ©s par les dĂ©veloppeurs, avec des explications claires et des corrections pour chacun.

1. Virgules de fin

Erreur : Unexpected token Ă  la fin d'un objet ou d'un tableau

Les virgules de fin sont autorisées dans les objets et tableaux JavaScript, mais sont strictement interdites en JSON.

JSON invalide :

{
  "name": "Alice",
  "age": 30,
}

Correction : Supprimez la virgule aprÚs le dernier élément.

{
  "name": "Alice",
  "age": 30
}

Tableaux avec virgules de fin :

// Invalid
[1, 2, 3,]

// Valid
[1, 2, 3]

2. Guillemets manquants ou incorrects autour des clés

Erreur : Unexpected identifier ou Expected double-quoted property name

JSON exige que toutes les clĂ©s d'objet soient entourĂ©es de guillemets doubles. Les guillemets simples et les clĂ©s sans guillemets ne sont pas valides, mĂȘme s'ils fonctionnent en JavaScript.

JSON invalide :

{
  name: "Alice",
  'occupation': "Engineer"
}

Correction : Enveloppez toujours les clés entre guillemets doubles.

{
  "name": "Alice",
  "occupation": "Engineer"
}

3. Utilisation de guillemets simples pour les valeurs de chaĂźne

Erreur : Unexpected identifier ou Unterminated string

Comme pour les clés, les valeurs de chaßne doivent utiliser des guillemets doubles en JSON. Les guillemets simples ne sont pas valides.

JSON invalide :

{ "greeting": 'Hello, world!' }

Correction : Remplacez les guillemets simples par des guillemets doubles.

{ "greeting": "Hello, world!" }

Astuce : Si votre chaßne contient des guillemets doubles, échappez-les avec une barre oblique inverse : "He said, \"Hello\"".

4. CaractÚres spéciaux non échappés

Erreur : Unexpected token ou Invalid character

Certains caractĂšres doivent ĂȘtre Ă©chappĂ©s dans les chaĂźnes JSON : les guillemets doubles ("), les barres obliques inverses (\) et les caractĂšres de contrĂŽle.

JSON invalide :

{
  "path": "C:\Users\Documents\file.json",
  "quote": "He said "hello""
}

Correction : Échappez correctement les barres obliques inverses et les guillemets doubles.

{
  "path": "C:\\Users\\Documents\\file.json",
  "quote": "He said \"hello\""
}

Liste complÚte des séquences d'échappement JSON

| Séquence | Représente | |----------|-----------| | \" | Guillemet double | | \\ | Barre oblique inverse | | \/ | Barre oblique | | \b | Retour arriÚre | | \f | Saut de page | | \n | Nouvelle ligne | | \r | Retour chariot | | \t | Tabulation | | \uXXXX | CaractÚre Unicode (par exemple, é pour e) |

5. Formats numériques invalides

Erreur : Unexpected number ou Invalid number

JSON a des rÚgles spécifiques pour le formatage des nombres :

  • Les zĂ©ros de tĂȘte ne sont pas autorisĂ©s (01 est invalide)
  • Un seul zĂ©ro de tĂȘte est autorisĂ© uniquement pour le nombre 0
  • Les nombres ne peuvent pas avoir de point final (10. est invalide)
  • Les formats hexadĂ©cimal, octal et binaire ne sont pas pris en charge

JSON invalide :

{
  "invalid1": 01,
  "invalid2": 10.,
  "invalid3": 0xFF,
  "invalid4": 1,000
}

Correction :

{
  "valid1": 1,
  "valid2": 10.0,
  "valid3": 255,
  "valid4": 1000
}

6. Valeurs invalides : undefined, NaN, Infinity

Erreur : Unexpected token pour undefined, NaN, Infinity

JavaScript possÚde des valeurs qui n'ont pas d'équivalent JSON. Celles-ci provoqueront des erreurs d'analyse :

JSON invalide :

{
  "undefinedVal": undefined,
  "notANumber": NaN,
  "infinity": Infinity
}

Correction : Remplacez-les par des valeurs JSON valides ou utilisez une convention.

{
  "undefinedVal": null,
  "notANumber": null,
  "infinity": 1.7976931348623157e+308
}

7. Virgules en trop ou virgules manquantes

Erreur : Expected comma ou Unexpected token

En JSON, les virgules doivent séparer chaque paire clé/valeur et chaque élément de tableau, mais ne doivent pas apparaßtre aprÚs le dernier élément.

Virgule manquante (invalide) :

{
  "name": "Alice"
  "age": 30
}

Correction : Ajoutez la virgule manquante.

{
  "name": "Alice",
  "age": 30
}

8. ProblÚmes de structure profondément imbriquée

Erreur : Maximum call stack size exceeded ou délai d'expiration de l'analyseur

Bien qu'il ne s'agisse pas d'une erreur de syntaxe, un JSON profondĂ©ment imbriquĂ© (10 niveaux ou plus) peut provoquer des problĂšmes de performance et rendre le dĂ©bogage extrĂȘmement difficile.

Structure problématique :

{
  "level1": {
    "level2": {
      "level3": {
        "level4": {
          "level5": {
            "level6": {
              "value": "too deep"
            }
          }
        }
      }
    }
  }
}

Meilleure approche : Aplatissez la structure ou utilisez des références.

{
  "users": {
    "alice": { "role": "admin" }
  },
  "permissions": {
    "admin": ["read", "write", "delete"]
  }
}

9. Accolades d'ouverture ou de fermeture manquantes

Erreur : Expected ',' or '}' ou Unexpected end of JSON input

Les accolades et crochets non appariés sont une source courante d'erreurs JSON, en particulier dans les fichiers JSON volumineux ou écrits à la main.

JSON invalide :

{
  "name": "Alice",
  "items": [1, 2, 3
}

Correction : Assurez-vous que chaque { a un } correspondant, et chaque [ un ] correspondant.

{
  "name": "Alice",
  "items": [1, 2, 3]
}

Astuce de pro : Indentez correctement votre JSON pour faire correspondre visuellement les crochets d'ouverture et de fermeture. Un formateur JSON peut le faire automatiquement.

Comment déboguer efficacement les erreurs JSON

  1. Utilisez un validateur JSON -- Collez votre JSON dans un validateur JSON gratuit pour obtenir la ligne et la colonne exactes de la premiĂšre erreur.
  2. Validez progressivement -- Pour les fichiers volumineux, validez une section Ă  la fois pour isoler l'erreur.
  3. Méfiez-vous des artefacts copier-coller -- Des caractÚres invisibles, des guillemets courbes et des espaces insécables s'infiltrent souvent depuis les traitements de texte ou les pages web.
  4. Vérifiez l'encodage des caractÚres -- Assurez-vous que votre fichier est enregistré en UTF-8. D'autres encodages peuvent produire des erreurs invisibles.
  5. Utilisez un linter -- Des outils comme ESLint avec le plugin json détectent les erreurs JSON pendant le développement.

N'oubliez pas : les analyseurs JSON signalent généralement uniquement la premiÚre erreur de syntaxe. Corrigez celle-ci, revalidez, et répétez jusqu'à ce que le document passe. Notre outil Formateur et validateur JSON vous offre des messages d'erreur instantanés et détaillés pour accélérer ce processus.

Erreurs de syntaxe JSON courantes et comment les corriger Ă  l'aide d'un validateur - CoolTool