Probador de JSONPath
Pega un documento JSON y escribe una expresión JSONPath como $..book[?(@.price<10)]. El probador la evalúa contra el documento y muestra cada valor coincidente, con la ruta exacta de cada coincidencia. Útil para validar la consulta que estás a punto de pegar en un script o en una especificación de API (Postman, k6, JMeter todos hablan JSONPath).
Cómo probar una expresión JSONPath
-
1
Pega el documento JSON
Cualquier JSON válido, objeto, array, profundamente anidado.
-
2
Escribe la expresión
Comienza con `$` para la raíz. Usa `.` para hijo, `..` para descenso recursivo, `[*]` para comodín.
-
3
Ve las coincidencias en vivo
Cada coincidencia se muestra con su valor y JSONPath completo, resaltado en el documento original.
-
4
Copia los resultados
Copia coincidencias como un array JSON, o copia cada ruta individual para usar en código posterior.
Referencia de sintaxis JSONPath
| Expresión | Significado |
|---|---|
$ |
Elemento raíz |
$.store |
Hijo de $ llamado store |
$["store"] |
Lo mismo, forma de corchetes |
$..author |
Todas las propiedades author a cualquier profundidad |
$.store.book[*] |
Cada libro en la tienda |
$.store.book[0] |
Primer libro |
$.store.book[-1:] |
Último libro |
$.store.book[0:2] |
Primeros dos libros (corte) |
$.store.book[?(@.isbn)] |
Libros con una propiedad isbn |
$.store.book[?(@.price < 10)] |
Libros más baratos que 10 |
$.store.book[?(@.category == "fiction")] |
Libros de ficción |
$..* |
Cada valor, en todas partes |
Expresiones de filtro
Las expresiones de filtro usan @ para referirse al nodo actual. El probador soporta los operadores comunes ==, !=, <, >, <=, >=, &&, ||, y regex =~.
$.items[?(@.qty >= 10 && @.price < 50)]
Dialectos de JSONPath
Hay varias implementaciones de JSONPath con pequeñas incompatibilidades. Este probador sigue la especificación original de Goessner y las refinaciones de RFC 9535, que son compatibles con:
- Jayway JsonPath (Java)
- jsonpath-plus (JavaScript)
- jsonpath-rw (Python)
- expresiones de ruta básicas de jq
Las características incompatibles (como expresiones de script con JS arbitrario) se señalan en el panel de errores.
Cuándo JSONPath supera a un analizador completo
- Afirmaciones de prueba:
pm.expect(jsonData).to.have.jsonPath(...)de Postman toma una ruta. - Extracción de configuración: extrae un valor de una enorme respuesta de API sin una biblioteca.
- Scripts de prueba de carga: k6, JMeter y Gatling todos soportan JSONPath para verificaciones.
- Kubernetes / AWS CLI: las banderas
--queryy--jsonpathte permiten dar forma a la salida desde la línea de comandos.
Errores comunes
- Usar
.en un array.$.users.0.namees incorrecto; usa$.users[0].name. - Olvidar
..para profundidad. Una ruta como$.namesolo coincide con elnamede nivel superior; usa$..namepara todos. - Confundir JSONPath con jq. jq es un superconjunto con flujo de control y transformaciones; JSONPath es puramente para extracción.
- Anclaje de regex.
=~ /foo/coincide con subcadenas; usa/^foo$/para un comportamiento de coincidencia exacta.
Preguntas frecuentes
JSONPath es un lenguaje de extracción puro, seleccionar, filtrar, cortar. jq es un lenguaje completo de consulta / transformación con flujo de control, variables y funciones. Para extracción simple, JSONPath es más portátil; para transformaciones, usa jq.
La especificación original de Goessner más las refinaciones de RFC 9535, que coinciden con Jayway JsonPath (Java) y jsonpath-plus (Node). Las extensiones específicas del dialecto (expresiones de script con código arbitrario) no son compatibles.
Sí. $..book[?(@.title =~ /^Harry.*/)] coincide con todos los libros cuyo título comienza con “Harry”. Usa ^ y $ para un comportamiento de coincidencia completa.
Sí. Tanto el JSON como el evaluador JSONPath viven en tu navegador. Tu documento y consultas nunca salen de la pestaña.
Herramientas relacionadas
Referencia de la tabla ASCII
Tabla ASCII completa del 0 al 127 con decimal, hex, octal, binario y referencia numérica HTML para cada carácter, incluidos los códigos de control como NUL, LF y DEL.
Referencia de caracteres HTML
Lista buscable de entidades HTML, sus códigos nombrados y numéricos, y una copia con un clic para caracteres y símbolos especiales.
Referencia de atajos de teclado
Busca los atajos predeterminados documentados de VS Code, Chrome y Bash con GNU Readline en macOS, Windows y Linux.
Generador de letras aleatorias
Genera letras aleatorias A-Z. Elige la cantidad, usa mayúsculas, minúsculas o mezcla de ambas, y aplica el resultado en juegos, consignas o clase.
Generador de Paletas de Color
Genera paletas monocromáticas, análogas, complementarias, triádicas o tetrádicas desde un color base HEX y exporta variables CSS listas para copiar.
Generador de EditorConfig
Genera un archivo .editorconfig con tu estilo y tamaño de indentación, fin de línea, charset y reglas de espacios para un formato consistente en IDEs y editores.
Herramienta disponible en otros idiomas
- JSONPath-testare [SV]
- JSONPath-Tester [DE]
- Testeur JSONPath [FR]
- Công cụ kiểm thử JSONPath [VI]
- JSON Path Tester [NL]
- JSONPath 테스터 [KO]
- أداة اختبار مسارات JSON (JSONPath) [AR]
- JSON Path Tester [ID]
- เครื่องมือทดสอบ JSON Path [TH]
- Tester JSONPath [PL]
- JSONPath テスター [JA]
- Testador de JSONPath [PT]
- JSONPath Test Aracı [TR]
- JSON路径测试器 [ZH]
- JSONPath Tester [EN]
- Tester JSONPath [IT]
- JSONPath Tester [RU]