Passer au contenu principal

Formateur/Validateur JSON

Un outil en ligne gratuit pour valider et formater votre JSON.

?JSON을 입력하세요

📝 입력 JSON

줄: 0문자: 0크기: 0 bytes

✨ 결과

JSON (JavaScript Object Notation)의 유효성을 검사하고 포맷팅합니다. 들여쓰기를 추가하여 가독성을 높이거나, 공백을 제거하여 크기를 줄일 수 있습니다.

Qu'est-ce que JSON ?

JSON (JavaScript Object Notation) est un format d'échange de données léger. Il est facile à lire et à écrire pour les humains, et facile à analyser et à générer pour les machines. Il est largement utilisé dans les API Web, les fichiers de configuration et le stockage de données.

Fonctionnalités principales

  • Validation : Détection des erreurs de syntaxe JSON en temps réel
  • Formatage (Prettify) : Amélioration de la lisibilité avec indentation
  • Compression (Minify) : Réduction de la taille en supprimant les espaces
  • Statistiques en temps réel : Affichage du nombre de lignes, caractères et taille en octets
  • Paramètres d'indentation : Choix entre 2/4/8 espaces
  • Chargement d'exemple : Test rapide avec un JSON exemple

Mode d'emploi

Validation JSON

  1. Collez votre JSON dans la zone de saisie
  2. La validation s'effectue en temps réel
  3. Les erreurs sont affichées avec des messages détaillés

Formatage JSON

  1. Entrez votre JSON
  2. Sélectionnez la taille d'indentation (2/4/8 espaces)
  3. Cliquez sur le bouton "Formater"
  4. Votre JSON formaté apparaît dans la sortie

Compression JSON

  1. Entrez votre JSON
  2. Cliquez sur le bouton "Compresser"
  3. Le JSON compressé en une seule ligne apparaît dans la sortie

Syntaxe de base JSON

Types de données

1. Objet (Object)

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

2. Tableau (Array)

["apple", "banana", "orange"]

3. Chaîne (String)

"Hello World"

4. Nombre (Number)

42
3.14
-10

5. Booléen (Boolean)

true
false

6. null

null

Structure imbriquée

{
"user": {
"name": "John Doe",
"age": 30,
"emails": ["john@example.com", "doe@example.com"],
"address": {
"city": "New York",
"country": "USA"
},
"active": true,
"lastLogin": null
}
}

Erreurs JSON courantes

1. Virgule de fin (Trailing Comma)

// ❌ Incorrect
{
"name": "John",
"age": 30, ← Virgule finale
}

// ✅ Correct
{
"name": "John",
"age": 30
}

2. Guillemets manquants

// ❌ Incorrect
{
name: "John" ← Pas de guillemets sur la clé
}

// ✅ Correct
{
"name": "John"
}

3. Utilisation de guillemets simples

// ❌ Incorrect
{
'name': 'John' ← Guillemets simples
}

// ✅ Correct
{
"name": "John"
}

4. Utilisation de commentaires

// ❌ Incorrect
{
// Ceci est un commentaire
"name": "John"
}

// ✅ JSON ne supporte pas les commentaires
// Utilisez JSONC ou JSON5 si nécessaire

5. Valeurs non définies

// ❌ Incorrect
{
"name": "John",
"age": undefined ← undefined n'existe pas en JSON
}

// ✅ Correct (utilisez null)
{
"name": "John",
"age": null
}

Cas d'usage

1. Débogage de réponse API

// Formatez la réponse reçue de l'API
{
"status": "success",
"data": {
"users": [
{"id": 1, "name": "John"},
{"id": 2, "name": "Jane"}
]
}
}

2. Rédaction de fichier de configuration

// package.json, tsconfig.json, etc.
{
"name": "my-app",
"version": "1.0.0",
"dependencies": {
"react": "^18.0.0"
}
}

3. Stockage de données

// Local storage, sauvegarde de fichiers, etc.
{
"theme": "dark",
"language": "fr",
"notifications": true
}

Utilisation par langage de programmation

JavaScript

// JSON → Objet (parsing)
const obj = JSON.parse('{"name":"John","age":30}');
console.log(obj.name); // "John"

// Objet → JSON (stringification)
const json = JSON.stringify(obj);
console.log(json); // '{"name":"John","age":30}'

// Formatage (indentation de 2 espaces)
const formatted = JSON.stringify(obj, null, 2);

Python

import json

# JSON → Dictionnaire
data = json.loads('{"name":"John","age":30}')
print(data['name']) # "John"

# Dictionnaire → JSON
json_str = json.dumps(data)

# Formatage
formatted = json.dumps(data, indent=2)

PHP

<?php
// JSON → Tableau
$data = json_decode('{"name":"John","age":30}', true);
echo $data['name']; // "John"

// Tableau → JSON
$json = json_encode($data);

// Formatage
$formatted = json_encode($data, JSON_PRETTY_PRINT);
?>

Formatage vs Compression

Formatage (Prettify)

Avantages :

  • Facile à lire pour les humains
  • Facilite le débogage
  • Structure claire

Inconvénients :

  • Augmente la taille du fichier
  • Inefficace pour la transmission réseau

Quand l'utiliser :

  • Développement/débogage
  • Fichiers de configuration
  • Documentation

Compression (Minify)

Avantages :

  • Réduit la taille du fichier (environ 30-50%)
  • Efficace pour la transmission réseau
  • Économise l'espace de stockage

Inconvénients :

  • Difficile à lire pour les humains
  • Complique le débogage

Quand l'utiliser :

  • Environnement de production
  • Réponses API
  • Données volumineuses

Conseils pratiques

1. Traitement de grands fichiers JSON

// Utilisez le parsing en streaming
const stream = fs.createReadStream('large.json');
const parser = JSONStream.parse('*');
stream.pipe(parser);

2. Gestion des références circulaires

const obj = {};
obj.self = obj; // Référence circulaire

// Erreur
// JSON.stringify(obj); // TypeError

// Solution avec replacer personnalisé
const json = JSON.stringify(obj, (key, value) => {
if (key === 'self') return undefined;
return value;
});

3. Traitement des objets Date

const data = {
name: "John",
created: new Date()
};

// Date → Chaîne ISO 8601
const json = JSON.stringify(data);
// {"name":"John","created":"2022-01-01T00:00:00.000Z"}

Confidentialité

Cet outil fonctionne entièrement côté client. Le JSON que vous entrez n'est pas envoyé à un serveur et est traité uniquement dans votre navigateur.

💬 Cet outil vous a-t-il été utile ?

N'hésitez pas à nous faire part de vos commentaires si vous avez des questions ou des suggestions d'amélioration !