¡NUEVO!

Consulta JSONPath

Consulta y extrae datos de JSON con expresiones JSONPath. Soporta descenso recursivo, comodines, filtros y segmentación de arreglos.

100% Privado y Seguro

Todo el procesamiento ocurre localmente en tu navegador. Tus archivos nunca salen de tu dispositivo.

Procesamiento Local Sin Subidas al Servidor Sin Registro
  • $ Objeto raiz
  • $.store.book[*] Todos los elementos del arreglo
  • $..author Busqueda recursiva
  • $.store.book[0] Indice del arreglo
  • $.store.book[0:2] Segmento del arreglo
  • $.store.book[?(@.price < 10)] Expresion de filtro
  • $.store.book[*].title Multiples campos

Entrada JSON

Resultados de Consulta

Pega datos JSON a la izquierda e ingresa una consulta JSONPath arriba.

Todo el procesamiento ocurre localmente en tu navegador. Tus datos nunca salen de tu dispositivo.

Palabras clave

jsonpathconsulta json pathbuscador json pathextracción datos jsonjsonpath en línea

¿Necesitas algo más?

Cómo usar

1

Pega tus datos JSON en el panel izquierdo.

2

Escribe una expresión JSONPath en la barra de consulta (ej., $.store.book[*].author).

3

Los resultados aparecen instantáneamente — valores coincidentes con sus rutas completas.

4

Haz clic en cualquier resultado para copiar su valor al portapapeles.

Características

Sintaxis JSONPath Completa

Soporta raíz ($), hijo (.), descenso recursivo (..), comodín (*), índice de arreglo ([n]), segmento ([n:m]) y expresiones de filtro ([?(@.price<10)]).

Ejecución de Consultas en Tiempo Real

Los resultados se actualizan instantáneamente mientras escribes la expresión, sin necesidad de hacer clic en un botón.

Visualización de Ruta y Valor

Cada coincidencia muestra la ruta JSONPath completa al valor y el valor en sí, facilitando localizar datos en documentos grandes.

Procesamiento Privado

Toda la ejecución de consultas se realiza localmente en tu navegador. Tus datos JSON nunca salen de tu dispositivo.

¿Por qué elegir esta herramienta?

Privacidad Total para Datos Sensibles

Las respuestas de API, exportaciones de bases de datos y archivos de configuración a menudo contienen tokens, credenciales o datos personales. El motor JSONPath se ejecuta completamente en tu navegador, sin transmitir datos a ningún servidor. No hay riesgo de interceptación, registro o retención por terceros.

Sintaxis de Consulta Potente

La herramienta soporta los operadores JSONPath más utilizados: notación de puntos para acceso directo, doble punto para descenso recursivo, comodines para iterar todos los elementos, segmentación de arreglos para rangos y expresiones de filtro para coincidencia condicional.

Retroalimentación Instantánea al Escribir

Los resultados se actualizan en tiempo real mientras modificas la expresión. No hay botón de envío, no hay indicador de carga, no hay ida y vuelta a un servidor. Este ciclo de retroalimentación instantánea facilita explorar estructuras JSON desconocidas.

Sin Registro ni Límites de Uso

Comienza a consultar inmediatamente — sin cuenta requerida, sin límites diarios, sin restricciones de tamaño de archivo. Ya sea que explores una configuración de 10 líneas o una respuesta API de 50,000 líneas, la herramienta lo procesa todo localmente.

Lenguaje de Consulta JSONPath: Guía Completa para Extracción de Datos

JSONPath es un lenguaje de consulta para extraer datos de documentos JSON, análogo a XPath para XML. Fue propuesto originalmente por Stefan Goessner en 2007 y se ha convertido en un estándar de facto para navegar y filtrar estructuras JSON en herramientas de pruebas, plataformas API y pipelines de datos.

Resumen de Sintaxis JSONPath

Cada expresión JSONPath comienza con $, que representa la raíz del documento JSON. Desde allí, navegas usando notación de puntos ($.store.book) o notación de corchetes ($['store']['book']).

  • $ — El elemento raíz.
  • .key — Accede a una propiedad hija por nombre.
  • .. — Descenso recursivo. Busca en todos los descendientes la clave especificada.
  • * — Comodín. Coincide con todos los elementos de un arreglo o todos los valores de un objeto.
  • [n] — Índice de arreglo. Accede al elemento en la posición n (base 0). Los índices negativos cuentan desde el final.
  • [n:m] — Segmento de arreglo. Retorna elementos desde el índice n hasta m (exclusivo).
  • [?(@.field op value)] — Expresión de filtro. Retorna elementos donde la condición es verdadera.

Ejemplos Prácticos

Considera un documento JSON que representa una librería en línea. La expresión $.store.book[*].author retorna todos los nombres de autores. La expresión $..price encuentra cada precio en el documento sin importar la profundidad de anidamiento. La expresión $.store.book[?(@.price<10)] retorna solo los libros que cuestan menos de 10.

JSONPath vs XPath

JSONPath fue diseñado como un análogo JSON de XPath. Mientras XPath navega árboles XML con ejes (hijo, descendiente, padre, hermano), JSONPath usa una notación más simple adaptada a la estructura objeto/arreglo de JSON.

Casos de Uso

  • Pruebas de API: Extrae campos específicos de respuestas API para validar en pruebas automatizadas.
  • Pipelines de datos: Filtra y transforma datos JSON en flujos de trabajo ETL.
  • Configuración: Extrae valores de archivos de configuración complejos sin escribir parsers personalizados.
  • Depuración: Localiza rápidamente valores específicos en payloads JSON grandes y profundamente anidados.
  • Análisis de logs: Extrae campos específicos de entradas de log JSON estructuradas para monitorización y alertas.

Expresiones de Filtro

Las expresiones de filtro son la característica más potente de JSONPath. La sintaxis [?(@.field op value)] evalúa una condición para cada elemento en un arreglo. El símbolo @ se refiere al elemento actual. Los operadores soportados incluyen ==, !=, <, <=, > y >=. También es posible combinar múltiples condiciones con operadores lógicos para crear filtros complejos que seleccionen elementos según varios criterios simultáneamente.

JSONPath en Pruebas de API Automatizadas

Las expresiones JSONPath son una pieza fundamental en los frameworks de pruebas de API como Postman, REST Assured y Karate. En estas herramientas, JSONPath permite extraer valores específicos de las respuestas HTTP para validarlos contra los resultados esperados. Por ejemplo, una aserción puede verificar que $.data.users[0].role sea igual a "admin" o que $.pagination.totalItems sea mayor que cero. Esta capacidad de navegar estructuras JSON complejas con expresiones concisas elimina la necesidad de escribir código de parsing manual, haciendo las pruebas más legibles, mantenibles y menos propensas a errores. Los equipos de QA pueden definir suites de pruebas completas utilizando JSONPath como el mecanismo principal de extracción de datos, validando contratos de API de forma precisa y reproducible.

Descenso Recursivo: Búsqueda en Profundidad

El operador de descenso recursivo (..) es especialmente útil cuando la estructura exacta del JSON es desconocida o variable. En lugar de especificar la ruta completa a un valor, $.. busca en todos los niveles de anidamiento. La expresión $..email encontrará cada propiedad llamada email sin importar en qué nivel de la jerarquía se encuentre — ya sea en el objeto raíz, dentro de un arreglo de usuarios o anidada en un objeto de contacto. Esta funcionalidad resulta particularmente valiosa cuando se exploran APIs desconocidas o cuando se trabaja con estructuras JSON que varían entre versiones, permitiendo localizar datos relevantes sin conocer la estructura completa del documento.

Segmentación de Arreglos y Acceso por Índice

JSONPath ofrece operadores flexibles para trabajar con arreglos JSON. El acceso por índice simple ([0], [1]) selecciona elementos individuales, mientras que los índices negativos ([-1]) permiten acceder desde el final del arreglo sin conocer su longitud. La segmentación con la sintaxis [inicio:fin:paso] permite extraer subconjuntos de elementos, donde [0:5] retorna los primeros cinco elementos y [::2] retorna elementos en posiciones pares. Estas capacidades son esenciales para paginar resultados, extraer muestras de grandes conjuntos de datos y procesar lotes de elementos de forma eficiente en pipelines de transformación de datos.

Comparación con Alternativas: JMESPath y jq

JSONPath no es el único lenguaje de consulta para JSON. JMESPath, utilizado por AWS CLI, ofrece una sintaxis diferente con funciones integradas y transformaciones de salida. La herramienta de línea de comandos jq proporciona un lenguaje completo de transformación con operadores de pipe, funciones de mapeo y reducción, y capacidades de reestructuración de datos. Sin embargo, JSONPath sigue siendo la opción más extendida en herramientas de pruebas de API, plataformas de integración y frameworks de configuración gracias a su sintaxis intuitiva y su amplia disponibilidad en bibliotecas de todos los lenguajes de programación principales.

Estandarización con RFC 9535

Hasta 2024, JSONPath carecía de una especificación formal estandarizada, lo que provocaba diferencias de implementación entre bibliotecas. El RFC 9535, publicado por el IETF, establece una especificación normativa que unifica la sintaxis, la semántica de los operadores y el comportamiento esperado de las expresiones. Esta estandarización garantiza que una expresión JSONPath produzca los mismos resultados independientemente de la biblioteca o lenguaje utilizado, mejorando la portabilidad de las consultas entre diferentes herramientas y plataformas.

Preguntas Frecuentes

¿Qué es JSONPath?

JSONPath es un lenguaje de consulta para extraer datos de documentos JSON, similar a XPath para XML. Usa una sintaxis simple comenzando con $ (raíz) y soporta notación de puntos, descenso recursivo, comodines, indexación de arreglos, segmentación y expresiones de filtro.

¿Mis datos JSON están seguros al usar esta herramienta?

Sí. Toda la ejecución de consultas ocurre localmente en tu navegador usando JavaScript. Tus datos JSON nunca se transmiten a ningún servidor, se registran o se almacenan.

¿Qué operadores JSONPath se soportan?

La herramienta soporta: $ (raíz), .key (acceso hijo), .. (descenso recursivo), * (comodín), [n] (índice de arreglo con soporte negativo), [n:m] (segmento de arreglo) y expresiones de filtro [?(@.field op value)] con operadores de comparación.

¿Cómo funciona el descenso recursivo (..)?

El operador de doble punto busca en todos los descendientes del nodo actual la clave especificada. Por ejemplo, $..price encuentra cada propiedad llamada 'price' a cualquier profundidad en el documento.

¿Puedo usar expresiones de filtro para encontrar valores específicos?

Sí. Las expresiones de filtro como [?(@.price<10)] retornan elementos del arreglo donde la condición es verdadera. El símbolo @ representa el elemento actual.

¿Cómo funcionan los segmentos de arreglo?

Los segmentos de arreglo usan la sintaxis [inicio:fin] donde inicio es inclusivo y fin es exclusivo. [0:3] retorna los primeros tres elementos. Omitir inicio usa 0, omitir fin usa la longitud del arreglo.

¿Puedo consultar archivos JSON grandes?

Sí. No hay límites de tamaño de archivo. La ejecución de consultas se realiza completamente en tu navegador.

¿Qué pasa con expresiones inválidas?

La herramienta muestra un mensaje de error claro explicando el problema. Los problemas comunes incluyen falta del prefijo raíz $, sintaxis de corchetes inválida y operadores no soportados.

Saber más