Formatear e indentar JSON

hace que el código JSON sea legible y estructurado, facilitando la lectura de los intercambios de datos entre servidores y aplicaciones

¿Por qué el formateo JSON?

El formateo JSON permite que los datos JSON sean más legibles y comprensibles para los desarrolladores y los usuarios. Facilita la depuración, la revisión de código y el análisis de los datos, en particular cuando se trata de ficheros JSON complejos y voluminosos. Un JSON bien formateado también puede integrarse más fácilmente en documentos e informes.

Cómo formatear JSON

En la página de formateo, puede formatear su JSON pegándolo en la zona de texto prevista a tal efecto o subiendo un fichero que contenga JSON.

Uui

En cuanto se envíe el JSON, se formateará y se mostrará en una zona de resultado. Si el JSON no es válido, se mostrará un error con una indicación de la naturaleza del problema.

Utilizar el JSON formateado

Puede copiar el JSON formateado utilizando el botón de copia previsto a tal efecto. Esto facilitará la integración del JSON en sus proyectos o informes.

Su código JSON debería parecerse a esto:


{
    "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"
}

    

Preguntas frecuentes

¿Qué diferencia hay entre un formateador, un validador y un minificador JSON?

Un formateador (beautifier) reescribe un JSON compacto en una versión indentada y legible. Un validador comprueba únicamente que la sintaxis es conforme a la especificación (RFC 8259) y señala los errores. Un minificador hace lo contrario del formateador: elimina todos los espacios para reducir el tamaño del fichero. Nuestra herramienta combina formateo y validación: si el JSON no es válido, un mensaje de error precisa la posición del problema.

¿El JSON estándar admite comentarios y comas finales?

No. La especificación JSON (RFC 8259) prohíbe estrictamente los comentarios (// o /* */) y las comas finales tras el último elemento de una tabla u objeto. Si las necesita, mire del lado de JSON5 o JSONC, dos extensiones que aceptan comentarios y comas finales, utilizadas, entre otros, por los ficheros de configuración de VS Code y TypeScript.

¿Por qué las cadenas deben utilizar comillas dobles?

La especificación JSON impone las comillas dobles (") para todas las cadenas y todas las claves de objeto. Las comillas simples (') no son válidas, aunque JavaScript las acepte. Un error frecuente al copiar desde código JS es mantener las comillas simples: el formateador señala entonces un error de parsing.

¿Cómo gestionar los números grandes o los números con coma muy precisos?

JSON no distingue los enteros de los números en coma flotante: todo es number. Los parsers JavaScript convierten automáticamente a Number, que pierde precisión por encima de 2^53 (enteros) y tiene una precisión flotante limitada a 15 cifras significativas. Para los identificadores largos (Twitter IDs, snowflakes Discord) o los importes financieros, codifíquelos como cadena ("123456789012345678") para preservar la precisión.

¿Qué indentación elegir: 2 o 4 espacios?

La indentación a 2 espacios es la convención dominante (Prettier, ESLint por defecto, convenciones npm), se mantiene legible incluso para documentos muy anidados. La indentación a 4 espacios conviene a los documentos planos donde la verticalidad ayuda a la lectura. Lo esencial es la coherencia en un mismo proyecto. Nuestra herramienta utiliza 4 espacios por defecto, conforme al pretty print de json_encode(JSON_PRETTY_PRINT) en PHP.

¿Qué hacer si mi JSON contiene caracteres Unicode o emojis?

JSON soporta nativamente UTF-8. Los emojis, acentos, caracteres CJK y otros scripts no latinos se preservan tal cual en la salida formateada. Si su JSON utiliza el escape Unicode (é para é), sigue siendo válido, pero el formateador no lo reescribe como carácter nativo. Para normalizar, pase de nuevo por un parser estricto como JSON.parse seguido de JSON.stringify.

Ejemplo de solicitud

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

Esquema de entrada

Campo Tipo Obligatorio Por defecto
input text

Puntos de acceso

  • GET https://cdrn.fr/api/v1/tools - lista todas las herramientas disponibles
  • GET https://cdrn.fr/api/v1/tools/json-formatter - recupera el esquema de esta herramienta
  • POST https://cdrn.fr/api/v1/tools/json-formatter/execute - ejecuta esta herramienta con un payload JSON