Formatear y validar JSON
Haz que el JSON sea más fácil de leer, comprueba su sintaxis o crea una versión compacta. Esta guía explica la sangría, la ordenación de claves y cómo guardar el resultado.
Prueba el archivo de ejemplo
Descarga order-options.json, un pedido ficticio con dos artículos y nombres de campos en inglés. El objeto customer agrupa un nombre y una ciudad; el array items es una lista con CARD-02 seguido de BOX-01. El ejemplo incluye texto entre comillas, cantidades y precios numéricos, el booleano true y null para una nota de entrega vacía. Los campos están sin ordenar a propósito para mostrar qué cambia la opción de ordenación.
Paso a paso
- Abre Formateador y validador JSON. Usa Archivo para abrir el archivo order-options.json incluido, o pega su contenido en Tus datos.
- Establece Sangría en 2 para usar dos espacios por nivel. Deja Ordenar claves de objetos sin marcar en la primera ejecución.
- Selecciona Procesar entrada. La herramienta comprueba la sintaxis JSON antes de mostrar el resultado. Si indica un error, usa la línea y la columna para localizarlo, corrige la entrada e inténtalo de nuevo.
- Lee el resultado. El objeto customer y los dos artículos deberían ser fáciles de seguir, con un campo o elemento de lista por línea. Los campos conservan el orden del ejemplo mientras la ordenación esté desactivada.
- Selecciona Descargar resultado para guardar formatted.json. También puedes usar Copiar texto para llevar el resultado a otro editor.
- Abre el archivo descargado en un editor de texto y compáralo con el ejemplo mediante las comprobaciones siguientes. Después prueba las demás opciones de sangría y ordenación, seleccionando Procesar entrada tras cada cambio.
Ejemplos de antes y después
Estos ejemplos breves muestran el objeto customer de order-options.json como un pequeño documento JSON. Compara el mismo nombre y ciudad antes y después de cada ajuste. La sección opcional de referencias al final muestra el pedido completo.
Hacer que el JSON compacto sea más fácil de leer
Establece Sangría en 2, deja Ordenar claves de objetos sin marcar y selecciona Procesar entrada. El resultado añade saltos de línea y dos espacios por nivel, conservando el orden original de los campos.
Antes: entrada compacta
{"customer":{"name":"Zoë","city":"Bergen"}}Después: sangría de dos espacios
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}Ordenar las claves de un objeto
Mantén Sangría en 2, marca Ordenar claves de objetos y selecciona Procesar entrada. Dentro de customer, city aparece ahora antes que name. Ambos valores se mantienen.
Antes: orden original de las claves
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}Después: claves del objeto ordenadas
{
"customer": {
"city": "Bergen",
"name": "Zoë"
}
}Compactar el JSON
Elige Minificar en Sangría, deja Ordenar claves de objetos sin marcar y selecciona Procesar entrada. Se eliminan los espacios y saltos de línea del formato; el texto y el orden de los campos se mantienen.
Antes: sangría de dos espacios
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}Después: Minificar
{"customer":{"name":"Zoë","city":"Bergen"}}Elegir la sangría
| Opción | Qué hace |
|---|---|
| 2 | Usa dos espacios por nivel de anidación. Es el ajuste del procedimiento principal. |
| 4 | Usa cuatro espacios por nivel de anidación para que los objetos y arrays anidados destaquen más. |
| ↹ | Usa un tabulador por nivel de anidación. Su anchura visual depende del editor de texto. |
| Minificar | Elimina los espacios y saltos de línea del formato. Los espacios dentro del texto entre comillas siguen formando parte de ese texto. Elige esta opción para una salida compacta y selecciona Procesar entrada. |
Cambiar la entrada o un ajuste borra el resultado anterior. Selecciona Procesar entrada de nuevo para generar un resultado con los nuevos ajustes. La herramienta lee el área de entrada cada vez; no introduce automáticamente el resultado anterior como entrada.
Ordenar claves de objetos
Deja Ordenar claves de objetos sin marcar para conservar el orden original de los campos de cada objeto. Al marcarlo, ordena las claves por orden textual que distingue mayúsculas y minúsculas en todo el documento, incluidos los objetos dentro de arrays. Los elementos de los arrays conservan su secuencia original.
- Mantén Sangría en 2, marca Ordenar claves de objetos y selecciona Procesar entrada.
- Las claves del nivel superior son ahora customer, deliveryNote, items, order y paid. Dentro de customer, city precede a name. En cada artículo, price precede a quantity y sku.
- El array items sigue conteniendo CARD-02 seguido de BOX-01. Ordenar las claves no ordena los artículos por sku ni por price.
Copiar, descargar y empezar de nuevo
| Opción | Qué hace |
|---|---|
| Copiar texto | Copia el resultado actual como texto. Si no se puede copiar, la herramienta selecciona el resultado para que lo copies manualmente. |
| Descargar resultado | Guarda el resultado actual como formatted.json. Este nombre se usa para los resultados formateados, compactos y ordenados, así que renombra los archivos si quieres conservar varias versiones. |
| Imprimir resultados | Abre el diálogo de impresión del navegador para el texto del resultado. |
| Cargar ejemplo | Sustituye la entrada por el ejemplo integrado de la herramienta y lo procesa con los ajustes actuales. Ese ejemplo es distinto de order-options.json de esta guía. |
| Borrar todo | Borra la entrada, el archivo seleccionado y el resultado. Se conservan las opciones de sangría y ordenación. |
Comprobar el JSON descargado
- Abre formatted.json en un editor de texto. Confirma que el pedido es ORD-1042, el cliente es Zoë en Bergen y hay dos artículos.
- Comprueba los valores y sus tipos: quantity es el número 2 y después 1, los precios mantienen 19.50 y 5.00, paid es el booleano true sin comillas y deliveryNote es el valor null sin comillas. Los nombres y códigos de artículo entre comillas siguen siendo cadenas.
- Después de probar Ordenar claves de objetos, confirma el orden de campos indicado y que CARD-02 sigue antes que BOX-01 en el array items.
- Prueba Minificar y Procesar entrada. Pega el resultado en Tus datos, establece Sangría en 2 y selecciona Procesar entrada de nuevo. Compara los valores y el orden de los artículos con el ejemplo original; las opciones de formato deben conservarlos.
Preguntas y solución de problemas
¿Por qué indica que el JSON no es válido?
Comprueba la línea y la columna indicadas y el campo inmediatamente anterior. Las claves y el texto necesitan comillas dobles; los campos necesitan comas y dos puntos; los corchetes y las llaves deben cerrarse. Corrige la entrada y selecciona Procesar entrada de nuevo. La validación comprueba la sintaxis JSON, por lo que un resultado válido aún puede carecer de campos que tu aplicación exige.
¿Puedo usar comentarios o una coma final?
Elimina los comentarios y cualquier coma justo antes de un corchete o una llave de cierre. No son válidos en JSON. El formateador necesita una entrada válida y no la repara automáticamente.
¿Qué significa el aviso de claves repetidas?
El mensaje «Se conservaron las claves repetidas. Algunos lectores descartan las claves repetidas.» significa que una clave aparece varias veces en el mismo objeto. El formateador conserva esas entradas y muestra un aviso. Revisa el origen, elige el valor deseado y elimina la entrada sobrante; otra aplicación podría conservar solo una de ellas.
¿Por qué no se abre o procesa mi archivo?
El límite de entrada es de 2 MiB, es decir, 2.097.152 bytes. Los archivos de texto locales deben ser UTF-8. Si la herramienta indica que los datos son demasiado complejos, reduce su anidación o número de entradas. Divide una entrada grande en documentos JSON completos más pequeños, en lugar de cortarla en mitad de un objeto o array.
¿Por qué cambian los números largos en otra aplicación?
El ejemplo separado de precisión que aparece debajo contiene 9007199254740993 y 0.10000000000000001. Este formateador conserva exactamente el texto de los números con todas las opciones de sangría y ordenación. Formatea exact-numbers.json y compara el resultado con exact-numbers-formatted.json en un editor de texto. Una aplicación que importe el resultado puede redondear los números; confirma que admite la precisión necesaria. Un código con cero inicial, como 00123, debe ser una cadena entre comillas en JSON.
¿Puede el formato recuperar dígitos ya redondeados?
El formato no puede recuperar dígitos redondeados o eliminados antes de que el texto llegue a la herramienta. Vuelve al origen y exporta el valor completo de nuevo. Cuando el valor es un identificador en lugar de una cantidad, una cadena puede ayudar a las aplicaciones receptoras a conservar sus dígitos.
Opcional: comparar el ejemplo y los resultados de referencia
Estos ejemplos de código y descargas se generaron a partir de order-options.json con el mismo formateador de la página de la herramienta. Las referencias formateada y compacta no ordenan las claves; la referencia ordenada usa sangría de dos espacios con la ordenación activada.
Ejemplo original
{"order":"ORD-1042", "customer": {"name":"Zoë","city":"Bergen"}, "items":[{"sku":"CARD-02", "quantity":2,"price":19.50},{"sku":"BOX-01","quantity":1, "price":5.00}], "paid":true, "deliveryNote":null}
Dos espacios; orden original de las claves
{
"order": "ORD-1042",
"customer": {
"name": "Zoë",
"city": "Bergen"
},
"items": [
{
"sku": "CARD-02",
"quantity": 2,
"price": 19.50
},
{
"sku": "BOX-01",
"quantity": 1,
"price": 5.00
}
],
"paid": true,
"deliveryNote": null
}Minificar; orden original de las claves
{"order":"ORD-1042","customer":{"name":"Zoë","city":"Bergen"},"items":[{"sku":"CARD-02","quantity":2,"price":19.50},{"sku":"BOX-01","quantity":1,"price":5.00}],"paid":true,"deliveryNote":null}Dos espacios; claves del objeto ordenadas
{
"customer": {
"city": "Bergen",
"name": "Zoë"
},
"deliveryNote": null,
"items": [
{
"price": 19.50,
"quantity": 2,
"sku": "CARD-02"
},
{
"price": 5.00,
"quantity": 1,
"sku": "BOX-01"
}
],
"order": "ORD-1042",
"paid": true
}| Archivo de referencia | Ajustes | Bytes |
|---|---|---|
| order-formatted.json | Dos espacios; orden original de las claves | 300 |
| order-minified.json | Minificar; orden original de las claves | 193 |
| order-sorted.json | Dos espacios; claves del objeto ordenadas | 300 |
Estos son resultados de texto reales, no capturas de la interfaz. El código puede ajustarse al ancho de la pantalla. Los nombres de los archivos de referencia distinguen los ejemplos; la herramienta descarga todas las versiones como formatted.json.