Consulta JSONPath

Query, filter and extract data from JSON with JSONPath: $ root, .key, [0], [*] and .. recursive descent.

Expresiones frecuentes:
Arrastra un archivo aquí
o haz clic en el botón de abajo para elegir un archivo local
.json / .txt / .csv, hasta 10 MB, se procesa solo en el navegador
Todo el procesamiento se realiza en tu navegador y los datos no se envían al servidor.

Extrae y filtra datos JSON mediante expresiones de ruta

¿Qué es una consulta JSONPath?

JSONPath es una expresión de ruta utilizada para localizar y extraer datos JSON. Permite encontrar rápidamente campos en objetos, objetos anidados y arrays, además de filtrar elementos de arrays mediante condiciones. Esta herramienta resulta útil para consultar respuestas de API, archivos de configuración, datos de registros y otros documentos JSON.

Sintaxis básica de JSONPath

$ representa el nodo raíz; $.users accede a la propiedad users del nodo raíz; $.users[0] obtiene el primer elemento del array; $.users[*] obtiene todos los elementos del array; $.users[*].name obtiene el campo name de cada elemento del array users; $..price busca de forma recursiva una propiedad llamada price en cualquier nivel.

Los índices de array admiten valores negativos. Por ejemplo, [-1] puede utilizarse para localizar el último elemento. El comodín [*] permite consultar todos los elementos de un array.

¿Cómo filtrar arrays con JSONPath?

Para filtrar elementos de un array según sus valores puedes utilizar una expresión [?()]. Por ejemplo, $.users[?(@.age > 18)] selecciona los usuarios cuya edad es superior a 18. @ representa el elemento actual del array y las propiedades de la condición pueden accederse mediante @.field.

Los filtros admiten los operadores ==, !=, >, >=, < y <=, además de &&, || y ! para combinar condiciones. También se pueden utilizar paréntesis para controlar la prioridad. Por ejemplo, $.users[?(@.age >= 18 && @.active == true)] selecciona elementos cuya edad sea al menos 18 y cuyo campo active sea true.

¿Cómo interpretar los resultados?

Después de ejecutar la consulta, el área de resultados muestra los datos coincidentes y sus rutas. Las rutas utilizan JSONPath, por ejemplo $.users[0].name, para indicar exactamente qué campo o elemento del array coincidió.

También se proporciona un resultado en forma de array JSON estándar que puedes copiar o descargar. Las estadísticas muestran el número de coincidencias. Cuando no hay resultados, la herramienta lo indica claramente. Para evitar que la página sea demasiado larga, las tarjetas de resultados muestran como máximo los primeros 200 elementos, mientras que todos los resultados coincidentes se conservan en la salida JSON.

Expresiones JSONPath habituales

La página ofrece botones con expresiones frecuentes que pueden ejecutarse directamente sobre los datos de ejemplo. Por ejemplo, $ consulta todo el JSON, $.users consulta users, $.users[*].name obtiene todos los nombres de usuario, $..price busca price en cualquier nivel y $.users[?(@.age > 18)] filtra usuarios por edad.

Estas expresiones pueden utilizarse como plantillas para modificar nombres de campos, índices y condiciones de filtrado, tanto para aprender JSONPath como para localizar rápidamente datos en JSON reales.

¿Cómo consultar un archivo JSON local?

Cambia a la pestaña de archivos y arrastra un archivo .json a la página o selecciónalo desde el equipo. El archivo se lee directamente en el navegador, con un límite de 10 MB por archivo, y la expresión JSONPath actual se ejecuta automáticamente después de cargarlo.

¿Qué hacer si JSONPath no devuelve resultados?

Si la expresión no genera un error pero el resultado está vacío, comprueba primero la estructura real y los tipos de datos del JSON. Por ejemplo, si users es un array, normalmente debes utilizar $.users[*] o $.users[0] y no tratarlo como un objeto mediante $.users.name. Para buscar campos con el mismo nombre en distintos niveles puedes probar $..name.

Si un filtro no devuelve resultados, comprueba el nombre del campo, su tipo y la condición de comparación. Por ejemplo, el número 18 y la cadena "18" pueden producir resultados diferentes. Si la expresión tiene un error de sintaxis, revisa que $, los puntos, los corchetes y ?() estén correctamente cerrados.

¿Qué sintaxis JSONPath admite esta herramienta?

Actualmente admite el nodo raíz $, acceso a propiedades, índices de array, índices negativos, comodín [*], descenso recursivo .. y filtros [?()]. Las condiciones admiten ==, !=, >, >=, <, <=, &&, ||, ! y paréntesis. La herramienta no afirma admitir todas las extensiones de la especificación JSONPath completa.

¿Cómo se escribe JSONPath?

JSONPath utiliza expresiones de ruta para localizar datos JSON: $ representa el nodo raíz, .key accede a una propiedad, [0] accede a un elemento de un array, [*] coincide con todos los elementos y $..key busca recursivamente propiedades con el mismo nombre en cualquier nivel.

Para filtrar arrays puedes utilizar expresiones como [?(@.age > 18)], que seleccionan elementos según el valor de un campo. También puedes combinar condiciones mediante &&, || y !.

  • Admite $, .key, índices [0], índices negativos, comodín [*] y descenso recursivo $..key
  • Admite expresiones de filtro [?()] para seleccionar elementos de arrays JSON según sus valores
  • Los filtros admiten ==, !=, >, >=, <, <= y las combinaciones &&, || y !
  • Los resultados muestran rutas y valores coincidentes y proporcionan una salida JSON estándar que se puede copiar o descargar
  • Al cargar archivos JSON, el límite es de 10 MB y la consulta se ejecuta automáticamente con la expresión actual
  • Todo el procesamiento se realiza localmente en el navegador y el contenido no se sube al servidor
Para comparar cambios entre dos JSON, utiliza JSON Diff; para combinar varios objetos JSON, utiliza Combinar JSON; para convertir datos JSON en tablas, utiliza JSON → CSV; para comprobar si una estructura JSON cumple determinadas reglas, utiliza Validación JSON Schema.
Comentarios 0
Aún no hay comentarios. ¡Sé el primero en comentar!
avatar
El contenido del comentario no puede estar vacío
0/255