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

Pega JSON, abre un archivo o carga el ejemplo. El resultado se actualiza mientras escribes.

Resultado
Vista del resultado

      
      
    
Formato

Cómo usarla

  1. 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.
  2. 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.
  3. 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.
  4. 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

OrigenCómo copiar el JSON
Chrome, Edge, FirefoxHerramientas de desarrollo (F12) › Red › selecciona la petición › pestaña Respuesta › copiar
SafariDesarrollo › Mostrar inspector web › Red › selecciona la petición › Respuesta
curlcurl -s https://api.example.com/items para el cuerpo, o curl -i para incluir las cabeceras
Postman, InsomniaPanel de respuesta › Body › Raw y copiar
Logs del servidorCopia 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.

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.

Cuéntanos qué quieres construir. Revisamos cada consulta y respondemos por correo.

Contacto

Gracias, tu consulta está en camino.

Revisaremos los detalles y responderemos por correo.