Formateur/Validateur JSON
Un outil en ligne gratuit pour valider et formater votre JSON.
📝 입력 JSON
✨ 결과
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
- Collez votre JSON dans la zone de saisie
- La validation s'effectue en temps réel
- Les erreurs sont affichées avec des messages détaillés
Formatage JSON
- Entrez votre JSON
- Sélectionnez la taille d'indentation (2/4/8 espaces)
- Cliquez sur le bouton "Formater"
- Votre JSON formaté apparaît dans la sortie
Compression JSON
- Entrez votre JSON
- Cliquez sur le bouton "Compresser"
- 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 !