| name | json-formatter |
| description | Formater, valider et transformer des données JSON. Use when: l'utilisateur demande de formater du JSON, valider une structure JSON, convertir entre JSON et autres formats, minifier/beautifier JSON. NOT for: manipulation de bases de données, traitement de fichiers XML complexes. |
| metadata | {"openclaw":{"emoji":"📋","requires":{"bins":["python3"]}}} |
JSON Formatter Skill
Outils pour manipuler et formater des données JSON.
Quand l'utiliser
✅ USE ce skill quand:
- "Formate ce JSON"
- "Valide cette structure JSON"
- "Convertis en YAML"
- "Minifie ce JSON"
- "Extrais une valeur de ce JSON"
- "Beautify ce JSON"
❌ N'utilisez PAS ce skill pour:
- Manipulation de bases de données
- Traitement de fichiers XML complexes
- Opérations sur grands fichiers (>100MB)
- Requêtes sur des données JSON massives
Commandes rapides avec jq
Si jq est installé sur le système:
echo '{"name":"test","value":123}' | jq .
echo '{"name":"test","value":123}' | jq -c .
echo '{"user":{"name":"John"}}' | jq '.user.name'
echo '{"key":"value"}' | jq -r 'to_entries | .[] | "\(.key): \(.value)"'
echo '{"valid":true}' | jq . > /dev/null && echo "Valide" || echo "Invalide"
Utilisation du script Python
Pour des opérations plus avancées:
python3 {baseDir}/format_json.py input.json --format pretty
python3 {baseDir}/format_json.py input.json --format minify
python3 {baseDir}/format_json.py input.json --validate
python3 {baseDir}/format_json.py input.json --to-yaml
echo '{"name":"test"}' | python3 {baseDir}/format_json.py - --format pretty
Exemples d'utilisation
Exemple 1: Formater un JSON compact
Demande: "Formate ce JSON: {"name":"John","age":30,"city":"Paris"}"
Commande:
echo '{"name":"John","age":30,"city":"Paris"}' | python3 {baseDir}/format_json.py - --format pretty
Résultat:
{
"age": 30,
"city": "Paris",
"name": "John"
}
Exemple 2: Valider un JSON
Demande: "Vérifie si ce JSON est valide: {"test":}"
Commande:
echo '{"test":}' | python3 {baseDir}/format_json.py - --validate
Résultat: Invalid JSON: Expecting value: line 1 column 9 (char 8)
Exemple 3: Minifier un JSON
Demande: "Minifie ce JSON"
Commande:
python3 {baseDir}/format_json.py data.json --format minify
Exemple 4: Convertir en YAML
Demande: "Convertis ce JSON en YAML"
Commande:
python3 {baseDir}/format_json.py data.json --to-yaml
Résultat:
name: John
age: 30
city: Paris
Options du script Python
python3 {baseDir}/format_json.py --help
--format Format de sortie: pretty, minify (défaut: pretty)
--validate Valider le JSON uniquement
--to-yaml Convertir en format YAML
--indent Indentation pour pretty (défaut: 2)
--sort-keys Trier les clés alphabétiquement
Workflow typique
- Recevoir le JSON à traiter (fichier ou texte)
- Déterminer l'opération souhaitée (format, validate, convert)
- Exécuter le script ou la commande appropriée
- Retourner le résultat à l'utilisateur
Cas d'usage courants
| Cas d'usage | Commande |
|---|
| Beautifier un JSON compact | --format pretty |
| Minifier pour API | --format minify |
| Vérifier la validité | --validate |
| Convertir en YAML | --to-yaml |
| Debug une erreur JSON | --validate avec message d'erreur |
Gestion des erreurs
| Erreur | Cause | Solution |
|---|
Expecting value | JSON incomplet | Vérifier les accolades/guillemets |
Extra data | Données après le JSON | Nettoyer le contenu |
Invalid control character | Caractère non échappé | Échapper les caractères spéciaux |
File not found | Fichier introuvable | Vérifier le chemin |
Notes importantes
- jq est plus rapide pour les opérations simples en ligne de commande
- Le script Python offre plus de flexibilité et de fonctionnalités
- Les deux approches peuvent être combinées
- Le script gère l'encodage UTF-8 automatiquement
Dépendances Python
Pour la conversion YAML, installez:
pip install pyyaml
Le reste des fonctionnalités utilise uniquement la bibliothèque standard Python.