Formater et indenter du JSON

rend le code JSON lisible et structuré, facilitant la lecture des échanges de données entre serveurs et applications

Pourquoi le formatage JSON ?

Le formatage JSON permet de rendre les données JSON plus lisibles et compréhensibles pour les développeurs et les utilisateurs. Cela facilite le débogage, la revue de code et l'analyse des données, en particulier lorsqu'il s'agit de fichiers JSON complexes et volumineux. Un JSON bien formaté peut également être intégré plus facilement dans les documents et les rapports.

Comment formater du JSON

Sur la page de formatage, vous pouvez formater votre JSON en le collant dans la zone de texte prévue à cet effet ou en téléchargeant un fichier contenant du JSON.

Uui

Dès que le JSON est soumis, il sera formaté et affiché dans une zone de résultat. Si le JSON est invalide, une erreur sera affichée avec une indication de la nature du problème.

Utiliser le JSON formaté

Vous pouvez copier le JSON formaté en utilisant le bouton de copie prévu à cet effet. Cela facilitera l'intégration du JSON dans vos projets ou rapports.

Votre code JSON devrait ressembler à ceci :


{
    "id": 12345,
    "name": "John Doe",
    "email": "johndoe@example.com",
    "address": {
        "street": "123 Main St",
        "city": "Springfield",
        "state": "IL",
        "postalCode": "62704",
        "country": "USA"
    },
    "phoneNumbers": [
        {
            "type": "home",
            "number": "555-1234"
        },
        {
            "type": "work",
            "number": "555-5678"
        }
    ],
    "orders": [
        {
            "orderId": 1001,
            "orderDate": "2023-06-01T14:30:00Z",
            "items": [
                {
                    "productId": 2001,
                    "productName": "Laptop",
                    "quantity": 1,
                    "price": 999.99,
                    "details": {
                        "manufacturer": "TechCorp",
                        "warranty": "2 years"
                    }
                },
                {
                    "productId": 2002,
                    "productName": "Mouse",
                    "quantity": 2,
                    "price": 25.50,
                    "details": {
                        "manufacturer": "GadgetCo",
                        "warranty": "1 year"
                    }
                }
            ],
            "totalAmount": 1051.49
        },
        {
            "orderId": 1002,
            "orderDate": "2023-06-10T10:15:00Z",
            "items": [
                {
                    "productId": 2003,
                    "productName": "Keyboard",
                    "quantity": 1,
                    "price": 45.99,
                    "details": {
                        "manufacturer": "KeyMasters",
                        "warranty": "3 years"
                    }
                }
            ],
            "totalAmount": 45.99
        }
    ],
    "preferences": {
        "newsletter": true,
        "notifications": {
            "email": true,
            "sms": false
        },
        "theme": "dark"
    },
    "lastLogin": "2024-06-14T09:30:00Z"
}

    

Questions fréquentes

Quelle différence entre un formateur, un validateur et un minificateur JSON ?

Un formateur (beautifier) réécrit un JSON compact en version indentée et lisible. Un validateur vérifie uniquement que la syntaxe est conforme à la spécification (RFC 8259) et signale les erreurs. Un minificateur fait l'inverse du formateur : il retire tous les espaces pour réduire la taille du fichier. Notre outil combine formatage et validation : si le JSON est invalide, un message d'erreur précise la position du problème.

Le JSON standard accepte-t-il les commentaires et les virgules traînantes ?

Non. La spécification JSON (RFC 8259) interdit strictement les commentaires (// ou /* */) et les virgules traînantes après le dernier élément d'un tableau ou objet. Si vous en avez besoin, regardez du côté de JSON5 ou JSONC, deux extensions qui acceptent commentaires et virgules traînantes, utilisées notamment par les fichiers de configuration de VS Code et TypeScript.

Pourquoi les chaînes doivent-elles utiliser des guillemets doubles ?

La spécification JSON impose les guillemets doubles (") pour toutes les chaînes et toutes les clés d'objet. Les guillemets simples (') ne sont pas valides, même si JavaScript les accepte. Une erreur fréquente lors de la copie depuis du code JS est de garder les guillemets simples : le formateur signale alors une erreur de parsing.

Comment gérer les grands nombres ou les nombres à virgule très précis ?

JSON ne distingue pas les entiers des nombres flottants : tout est number. Les parseurs JavaScript convertissent automatiquement en Number, qui perd en précision au-delà de 2^53 (entiers) et a une précision flottante limitée à 15 chiffres significatifs. Pour les identifiants longs (Twitter IDs, snowflakes Discord) ou les montants financiers, encodez-les en chaîne ("123456789012345678") pour préserver la précision.

Quelle indentation choisir : 2 ou 4 espaces ?

L'indentation à 2 espaces est la convention dominante (Prettier, ESLint par défaut, conventions npm), elle reste lisible même pour des documents très imbriqués. L'indentation à 4 espaces convient aux documents plats où la verticalité aide la lecture. L'essentiel est la cohérence dans un même projet. Notre outil utilise 4 espaces par défaut, conforme au pretty print de json_encode(JSON_PRETTY_PRINT) en PHP.

Que faire si mon JSON contient des caractères Unicode ou des emojis ?

JSON supporte nativement l'UTF-8. Les emojis, accents, caractères CJK et autres scripts non latins sont préservés tels quels dans la sortie formatée. Si votre JSON utilise l'échappement Unicode (é pour é), il reste valide mais le formateur ne le réécrit pas en caractère natif. Pour normaliser, repassez par un parseur strict comme JSON.parse suivi de JSON.stringify.

Exemple de requête

curl -X POST https://cdrn.fr/api/v1/tools/json-formatter/execute \
  -H "Content-Type: application/json" \
  -d '{"input":"..."}'

Schéma d'entrée

Champ Type Requis Défaut
input text

Points d'accès

  • GET https://cdrn.fr/api/v1/tools - liste tous les outils disponibles
  • GET https://cdrn.fr/api/v1/tools/json-formatter - récupère le schéma de cet outil
  • POST https://cdrn.fr/api/v1/tools/json-formatter/execute - exécute cet outil avec un payload JSON