Probador de JSONPath
JSONPath Tester
Ejecuta una expresión JSONPath sobre un documento y resalta los nodos que coinciden mientras escribes.
Ejecuta una consulta JSONPath contra un documento y muestra cada nodo que seleccionó, con la ruta a cada uno. Implementa RFC 9535 —el estándar de 2024— en lugar de una de las implementaciones mutuamente incompatibles de los veinte años anteriores, lo cual importa en cuanto tu consulta lleva un filtro.
Consulta
Desde la raíz: en cualquier punto por debajo, el miembro «book»; luego los hijos que pasan el filtro; luego el miembro «title».
Documento
Coincidencias
Los resultados aparecen aquí mientras escribes.
Esto sigue RFC 9535, el estándar de 2024, y no los veinte años de implementaciones incompatibles que lo precedieron. Las diferencias que se notan: un resultado es una lista de nodos y conserva los duplicados, .. visita un nodo antes que a sus hijos, un miembro ausente solo es igual a otro miembro ausente, y comparar contra una consulta que podría coincidir con varios nodos es un error de sintaxis en vez de una suposición. Los patrones que van dentro de match() y search() se entregan al motor de expresiones regulares del propio navegador, que acepta más de lo que especifica el dialecto I-Regexp del RFC.
Cómo se usa
Pega el documento
Cualquier cosa que se analice como JSON. La consulta corre en un worker, así que un documento grande mantiene la página ágil mientras escribes.
Escribe la consulta, o parte de un ejemplo
Los botones bajo el cuadro cubren las formas que la gente necesita: un comodín, una búsqueda de descendientes, un slice, un filtro, una expresión regular y una función. Encima de ellos aparece una descripción en lenguaje llano de lo que significa tu consulta.
Lee las coincidencias con sus rutas
Cada resultado lleva la ruta normalizada que llegó hasta él, así que puedes ver si una coincidencia vino de donde esperabas. La línea de estadísticas dice si la consulta es singular —capaz de seleccionar como mucho un nodo—, que es lo que sería un JSON Pointer.
Preguntas frecuentes
Mi consulta funciona en otra herramienta pero aquí no.
Probablemente una diferencia de RFC 9535. El estándar eliminó cosas que las implementaciones antiguas permitían: expresiones de script en `()`, `$..[?(@.x)]` con la sintaxis antigua de filtro entre paréntesis, y comparar contra una consulta que podría coincidir con varios nodos; esta última es ahora un error de sintaxis en lugar de una suposición.
¿Por qué el mismo valor aparece dos veces?
Porque el resultado es una lista de nodos, no un conjunto. `$..price` llegando al mismo nodo por dos ramas lo lista dos veces, a propósito: deduplicar perdería la información de dónde vino cada coincidencia.
¿Las expresiones regulares de `match()` son estándar?
No exactamente. El RFC especifica I-Regexp, un dialecto pequeño; los patrones de aquí se entregan al motor del propio navegador, que acepta más. Un patrón que funciona aquí puede ser rechazado por una implementación estricta, algo que conviene saber antes de ponerlo en producción.
¿Puede modificar el documento?
No: JSONPath selecciona, no escribe. Para editar, las rutas que se muestran aquí son punteros RFC 6901 y pueden ir directamente a un JSON Patch, que es lo que produce la herramienta de diff de JSON de este sitio.
Puede recibir de
Formateador y validador de JSON
JSON Formatter & Validator
Indenta, minifica y valida JSON, señalando la línea y la columna exactas del error de sintaxis.
JSON a XML y de vuelta
JSON ⇄ XML
Convierte entre JSON y XML con tratamiento configurable de atributos, arreglos y nodos de texto.
Comparar dos JSON
JSON Diff
Compara dos documentos JSON por estructura, ignorando el orden de las claves e informando de las rutas añadidas, eliminadas y modificadas.
Laboratorio de jq
jq Playground
Ejecuta filtros de jq 1.7 sobre el JSON que pegues, dentro del navegador, con una chuleta y la línea de comandos equivalente.
Después
Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.
Laboratorio de jq
jq Playground
Ejecuta filtros de jq 1.7 sobre el JSON que pegues, dentro del navegador, con una chuleta y la línea de comandos equivalente.
Comparar dos JSON
JSON Diff
Compara dos documentos JSON por estructura, ignorando el orden de las claves e informando de las rutas añadidas, eliminadas y modificadas.
Formateador y validador de JSON
JSON Formatter & Validator
Indenta, minifica y valida JSON, señalando la línea y la columna exactas del error de sintaxis.
Probador de XPath
XPath Tester
Evalúa una expresión XPath o un selector CSS sobre XML o HTML y enumera todos los nodos que coinciden.
JSON a CSV y de vuelta
JSON ⇄ CSV
Aplana JSON anidado en columnas o reconstruye los objetos desde una tabla, con nombres de columna en notación de puntos.
JSON a tipos de TypeScript
JSON to TypeScript
Deduce interfaces o tipos de TypeScript a partir de un JSON de ejemplo, fusionando campos opcionales y uniones.