ForHosting KIT · Datos y archivos

Consulte JSON con expresiones de estilo JSONPath

Extraiga valores de un documento de datos con una ruta corta: $.store.books[*].title devuelve North y South, un título por libro y en el orden en que aparecen. Una ruta sin resultados da una lista vacía, no un error. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Ruta
$.store.books[*].title
Obtiene
Coincidencias
North, South

La sintaxis admitida cubre propiedades directas, propiedades entre comillas, índices de matrices y comodines, mientras rechaza deliberadamente filtros, descenso recursivo, segmentos, uniones y expresiones ejecutables. Este contrato limitado ofrece resultados previsibles para depuración, pruebas, inspección de datos y automatizaciones ligeras.

Construya una ruta desde el inicio del documento

Toda expresión empieza por <code>$</code>, que representa el documento analizado completo. Añada un punto seguido de un nombre de propiedad sencillo, como <code>$.customer.name</code>, para descender por objetos. Los nombres usados con notación de punto deben comenzar por una letra o un guion bajo; después pueden contener letras, dígitos o guiones bajos.

Si una clave contiene espacios, guiones, puntos u otros caracteres que no cumplen esa regla, use un paso entre corchetes y comillas, por ejemplo <code>$['display-name']</code> o <code>$["shipping address"]</code>. Puede emplear comillas simples o dobles y escapar la comilla correspondiente o una barra inversa. Las rutas se evalúan de izquierda a derecha, y una propiedad ausente no aporta ningún valor a esa rama.

La respuesta siempre contiene una matriz <code>matches</code>, incluso cuando la ruta identifica un solo escalar, para que usted procese resultados únicos, comodines y resultados vacíos con la misma estructura.

Seleccione elementos de matrices y expanda comodines

Use un entero no negativo entre corchetes para seleccionar una posición de una matriz, como <code>$.orders[0].id</code>. Los índices empiezan en cero, de modo que el primer elemento es cero y un índice que supere la longitud no produce coincidencias. Utilice <code>[*]</code> para expandir todos los elementos y continúe la ruta para leer un campo de cada uno.

Por ejemplo, <code>$.store.books[*].title</code> devuelve el título de cada objeto libro que tenga esa propiedad. También se admite el comodín con punto <code>.*</code>. Puede combinar comodines con pasos posteriores de propiedad o índice, y las ramas sin coincidencia se descartan sin perjudicar a las demás.

El orden final sigue, por tanto, el documento fuente y la secuencia del recorrido.

Identifique la sintaxis que se excluye a propósito

Esta capacidad implementa un lenguaje pequeño de estilo JSONPath, no todas sus variantes. Rechaza el descenso recursivo como <code>$..name</code>, filtros como <code>$[?( @.price &lt; 10)]</code>, segmentos, uniones, índices negativos, expresiones de script y funciones.

El rechazo es deliberado porque estas funciones difieren entre bibliotecas y algunas permiten evaluaciones impropias de un analizador determinista. En cambio, una ruta sintácticamente válida que no encuentra nada no es un error: devuelve una matriz <code>matches</code> vacía. Así, su automatización puede distinguir instrucciones mal formadas de consultas válidas sobre datos opcionales ausentes.

Para una integración fiable, valide las rutas durante el desarrollo, respete el subconjunto documentado y decida expresamente si acepta un conjunto vacío.

¿Qué funciones de JSONPath se admiten?

El subconjunto incluye el símbolo raíz, propiedades con punto, propiedades entre corchetes y comillas, índices no negativos de matrices y comodines.

¿Qué ocurre si una ruta no encuentra coincidencias?

La solicitud termina correctamente y devuelve una matriz matches vacía. La ausencia de datos no equivale a una sintaxis de ruta no válida.

¿Puedo usar filtros o descenso recursivo?

No. Los filtros, el descenso recursivo, los segmentos, las uniones, los scripts, las funciones y los índices negativos se rechazan.

¿Cómo leo una clave con espacios o guiones?

Escriba el nombre entre comillas dentro de corchetes, por ejemplo $['display-name'] o $["shipping address"]. El punto simple solo sirve para nombres que empiezan por letra o guion bajo y siguen con letras, cifras o guiones bajos.

¿Las posiciones de una lista empiezan en 0 o en 1?

En 0: $.orders[0].id lee el primer pedido. Una posición más allá del final de la lista no da ninguna coincidencia, pero tampoco un error, y las posiciones negativas no se aceptan.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/dev2/json-path-query

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/dev2/json-path-query \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"json":"{\"store\":{\"books\":[{\"title\":\"North\",\"price\":12},{\"title\":\"South\",\"price\":18}]}}","path":"$.store.books[*].title"}'
{
  "json": "{\"store\":{\"books\":[{\"title\":\"North\",\"price\":12},{\"title\":\"South\",\"price\":18}]}}",
  "path": "$.store.books[*].title"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.json_path_query",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Esta herramienta de consulta de estilo JSONPath extrae valores de un documento JSON sin que usted tenga que escribir un script, instalar dependencias ni preparar la línea de comandos. Pegue un JSON válido, introduzca una ruta que empiece por el símbolo raíz y recibirá una matriz ordenada de coincidencias.

Construya una ruta desde la raíz de JSON

La expresión raíz por sí sola es válida y devuelve todo el valor JSON como única coincidencia.

Seleccione elementos de matrices y expanda comodines

En un objeto, el comodín visita sus valores en el orden estándar de las propiedades JSON; en una matriz, recorre los elementos del primero al último. Los valores conservan sus tipos JSON nativos: las cadenas siguen siendo cadenas, los números siguen siendo números, y los objetos, matrices, booleanos y valores nulos se devuelven sin conversión.

Identifique la sintaxis que se excluye a propósito

Las expresiones no admitidas devuelven un error <code>invalid_input</code> con un mensaje que identifica el problema; nunca se interpretan como rutas válidas parciales. Un JSON no válido se rechaza por separado antes de iniciar el recorrido. El precio de la API parte de $0.002 por solicitud, y el navegador puede ejecutar la misma lógica determinista.

Inspeccionar una respuesta de API

Extraiga un estado, identificador o conjunto de valores profundamente anidado mientras depura una carga de respuesta.

Crear aserciones de prueba estables

Seleccione solo los campos necesarios para una prueba de regresión en vez de comparar un documento completo que cambia.

Preparar automatizaciones ligeras

Obtenga valores de un JSON de configuración, webhook o exportación antes de pasarlos al siguiente paso determinista.

¿Los valores encontrados se convierten en texto?

No. Conservan sus tipos JSON, incluidos números, booleanos, valores nulos, objetos y matrices.

¿Cuánto cuesta una solicitud de API?

El precio de la API parte de $0.002 por solicitud. Esta capacidad también puede ejecutarse gratis en el navegador.

Ver la documentación completa del KIT →