Formateador JSON para respuestas API
Pega una respuesta de la pestaña de red del navegador, de curl, de Postman o de un archivo de log. Las cabeceras HTTP, los envoltorios JSONP y el JSON con doble codificación se detectan automáticamente, y los ID grandes conservan todas sus cifras.
Gratis · Sin registro
Cómo usarla
- Copia la respuesta. En Chrome, Edge o Firefox abre las herramientas de desarrollo, selecciona la petición en la pestaña Red y copia la respuesta. Desde la terminal, usa curl -s, o curl -i para incluir las cabeceras.
- Pégala en el cuadro de entrada. Las cabeceras, el callback JSONP o el JSON guardado como texto escapado se eliminan o decodifican, y una nota te indica qué se ha cambiado.
- Cambia a la vista de árbol para explorar datos anidados. Toca un valor para ver su ruta, por ejemplo $.data[0].attributes.email, y cópiala para tu código o un filtro jq.
- Copia o descarga el JSON formateado, o elige Minificar para obtener un cuerpo de petición compacto.
Por qué usar esta herramienta
Respuestas HTTP completas
Pega la salida de curl -i con la línea de estado y las cabeceras. Las cabeceras se omiten y se formatea el cuerpo.
JSONP y doble codificación
Se eliminan los envoltorios callback({...}) y un texto JSON lleno de \" se decodifica en JSON real.
ID de 64 bits exactos
Los ID mayores que 9.007.199.254.740.991 se muestran tal como los envió el servidor, con un aviso de que JavaScript los redondearía.
Rutas de valores anidados
Toca cualquier valor del árbol para copiar su ruta, lista para JavaScript, jq o aserciones de tests.
Aviso de claves duplicadas
Si un objeto repite una clave, se te indica cuál, porque la mayoría de los clientes solo conserva el último valor.
Seguro con respuestas reales
Todo se ejecuta en tu navegador. Los tokens, cookies y datos de clientes de la respuesta nunca se suben.
Dónde copiar una respuesta de API
| Origen | Cómo copiar el JSON |
|---|---|
| Chrome, Edge, Firefox | Herramientas de desarrollo (F12) › Red › selecciona la petición › pestaña Respuesta › copiar |
| Safari | Desarrollo › Mostrar inspector web › Red › selecciona la petición › Respuesta |
| curl | curl -s https://api.example.com/items para el cuerpo, o curl -i para incluir las cabeceras |
| Postman, Insomnia | Panel de respuesta › Body › Raw y copiar |
| Logs del servidor | Copia la línea de log completa. Si está cortada, abre el archivo de log. |
Por qué cuesta leer una respuesta de API
Las API suelen enviar JSON minificado, sin espacios ni saltos de línea, porque ocupa menos y se transfiere más rápido. Una respuesta con cientos de registros llega entonces en una sola línea muy larga.
El formateo añade sangría sin cambiar ningún valor, así que ves qué campos hay, cómo se anidan los arrays y dónde están los enlaces de paginación o los detalles de error. La vista de árbol va más allá: pliega los arrays grandes y muestra cuántos elementos tiene cada uno.
Problemas que detecta esta página
- Cabeceras HTTP antes del cuerpo, por ejemplo de curl -i o del log de un proxy.
- Respuestas JSONP como callback({"items": []}); de API antiguas.
- JSON con doble codificación: un texto como "{\"id\":1}" que un servidor o un logger escapó dos veces.
- Claves duplicadas, que cada parser trata de forma distinta.
- Enteros demasiado grandes para los números de JavaScript, un problema habitual con ID de bases de datos y redes sociales.
- Errores de sintaxis en cuerpos de petición escritos a mano, con línea, columna y reparación con un clic de los fallos habituales.
ID grandes en JavaScript
Muchas API devuelven ID enteros de 64 bits. JavaScript solo representa enteros con exactitud hasta 9.007.199.254.740.991, así que response.json() convierte 9007199254740993 en 9007199254740992 sin ningún error.
Las API bien diseñadas envían esos ID como texto, por ejemplo "id_str". Si la tuya no lo hace, analiza la respuesta con una biblioteca compatible con BigInt o pide al proveedor ID en formato texto. Este formateador muestra las cifras exactas para que detectes el problema.
Preguntas frecuentes
¿Puedo pegar una respuesta que incluya cabeceras HTTP?
Sí. Si el texto empieza con una línea de estado como HTTP/1.1 200 OK, todo hasta la primera línea vacía se trata como cabeceras y se omite. Solo se formatea el cuerpo.
¿Es seguro pegar respuestas con tokens o datos personales?
La página procesa todo en tu navegador y no envía nada a un servidor, así que los datos se quedan en tu dispositivo. Aun así, acostúmbrate a quitar los tokens de acceso antes de compartir una respuesta con alguien.
¿Por qué mi JSON muestra \" por todas partes?
El JSON se codificó dos veces y ahora es un texto que contiene JSON. Esta página lo decodifica automáticamente. En tu código, llama dos veces a JSON.parse o corrige el servidor para que no convierta los datos en texto por segunda vez.
¿Qué es JSONP?
JSONP envuelve el JSON en una llamada a una función de JavaScript, como callback({...}), para que los navegadores antiguos pudieran cargar datos de otro dominio. Las API modernas usan CORS. Esta página elimina el envoltorio para que puedas leer los datos.
¿Cómo uso la ruta en mi código?
Una ruta como $.data[0].id significa: toma el array data, su primer elemento y después el campo id. En JavaScript escribe response.data[0].id y en jq escribe .data[0].id.
¿Puede formatear respuestas XML o GraphQL?
Las respuestas de GraphQL son JSON, así que funcionan. XML es un formato distinto y aquí no es compatible.
Cómo leer y depurar respuestas JSON de una API
Herramientas relacionadas
¿Necesitas crear algo?
Cuéntanos qué quieres construir.
Cuéntanos qué necesitas crear, desde una web sencilla hasta una app completa, una solución de IA, una automatización o un sistema a medida.