¿qué es un probador JSONPath?
Un probador JSONPath evalúa una expresión JSONPath frente a un documento JSON y devuelve todos los valores que selecciona la expresión, junto con la ruta exacta para cada coincidencia. JSONPath es un lenguaje de consulta para JSON, la forma en que XPath es un lenguaje de consulta para XML: escribe una ruta corta como $.store.book[*].author y recupera la lista de valores coincidentes sin escribir ningún código. Esta herramienta analiza su JSON, ejecuta la expresión y muestra tanto los resultados como la ruta normalizada de cada uno.
El objetivo de un probador es la retroalimentación. Cuando una expresión JSONPath no devuelve nada o devuelve más de lo esperado, el problema casi siempre es un pequeño detalle de sintaxis: falta un comodín, el estilo de corchete incorrecto o un filtro que compara una cadena con un número. Ejecutar la consulta en vivo con datos reales y ver qué nodos toca convierte esas conjeturas en una verificación de dos segundos. Es la misma razón por la que los desarrolladores mantienen abierto un probador de expresiones regulares junto a su editor.
Todo se ejecuta en su navegador. El JSON se analiza con el analizador JSON incorporado y la expresión es evaluada por un pequeño intérprete escrito en JavaScript, por lo que no se carga, registra ni almacena nada. Eso es importante porque el trabajo de JSONPath generalmente ocurre con respuestas API y archivos de configuración que contienen tokens, ID o registros de clientes, y esta herramienta mantiene esa carga útil en su propia máquina y sigue funcionando sin conexión una vez que la página se ha cargado.
JSONPath es una convención con varias implementaciones en lugar de una única especificación, y no están de acuerdo en los bordes. La sintaxis del filtro es la parte menos portátil, por lo que es posible que sea necesario ajustar una expresión que funciona en una biblioteca en otra. El descenso recursivo es la operación costosa: recorre cada nodo del documento, por lo que en un archivo grande una consulta que comienza con dos puntos es notablemente más lenta que una ruta explícita.
Para probarlo como evaluador en línea de JSONPath, haga clic en Cargar muestra, reemplace la expresión con $.store.book[?(@.price < 10)].title y haga clic en Evaluar. El modo Valores devuelve ["Dichos del siglo", "Moby Dick"] con el panel marcado con 2 resultados. Cambie la salida a Rutas y haga clic en Evaluar nuevamente, y la misma consulta devuelve $.store.book[0].title y $.store.book[2].title, lo que le indica que el filtro omitió los libros en los índices 1 y 3. Cambie la expresión a $..price y obtendrá cinco números, porque el descenso recursivo también llega a la bicicleta.
¿cómo utilizar el probador JSONPath?
Pega tu JSON
Pegue un objeto o matriz en el cuadro JSON, o haga clic en Cargar muestra para el documento de la librería. La entrada debe ser JSON válida; Se muestra un error de análisis con el propio mensaje de su navegador, que normalmente nombra la posición para que pueda solucionarlo.
Escribe una expresión JSONPath
Ingrese una ruta como $.store.book[*].title o $..price. Comience desde $ para la raíz, use puntos o corchetes para niños y agregue filtros como [?(@.price < 10)] para seleccionar por valor.
Lee los partidos
Haga clic en Evaluar para ejecutar la expresión; el panel Coincidencias enumera cada valor coincidente y muestra el recuento de resultados. Cambie la salida a rutas o entradas y haga clic en Evaluar nuevamente para ver de dónde vino cada resultado.
Copia el resultado
Copie los valores coincidentes, la lista de rutas o las entradas completas de ruta y valor como JSON para pegarlas en su código, pruebas o documentación.
Características clave
Sintaxis de ruta completa
Se admiten raíz, hijo, descenso recursivo (..), comodín (*), índice de matriz que incluye índice negativo, uniones y cortes estilo Python, por lo que la mayoría de los ejemplos de JSONPath publicados se ejecutan sin cambios.
Filtrar expresiones
Seleccione nodos por valor con filtros como [?(@.price < 10 && @.category == "fiction")]. Operadores de comparación, comprobaciones de existencia y && / || Las combinaciones se evalúan por elemento.
Valores, rutas o entradas
Vea los valores coincidentes, la ruta normalizada de cada coincidencia o ambos juntos como entradas. La salida de ruta es útil para crear la expresión que necesita.
Borrar mensajes de error
Json no válido y expresiones con formato incorrecto se informan por separado con un mensaje específico, para que sepa si debe corregir los datos o la consulta en lugar de mirar un resultado vacío.
Frequently Asked Questions
Related Tools
JSON Schema Generator
Generate a JSON Schema from any JSON sample. Infers types, merges arrays of objects into one item schema, derives required fields, and detects date-time, email, uri, and uuid formats. Draft-07 and 2020-12 output. 100% client-side.
JSON to TypeScript
Generate TypeScript interfaces from any JSON sample. Infers nested types, merges arrays of objects into a single interface, marks nullable and missing keys optional, and emits clean exportable code. 100% client-side.
JSON to XML
Convert JSON to well-formed XML instantly. Map object keys to elements, @-prefixed keys to attributes and #text to content, expand arrays into repeated tags, and export minified or pretty-printed XML. 100% client-side.
XML Formatter
Format, beautify, minify, and validate XML online - preserves comments, CDATA, and attribute order, with clear error reporting
Comments
0 comments
No comments yet. Be the first to share your thoughts!