Evaluar JSONPath RFC 9535

Gramática RFC 9535 con rutas y valores normalizados, filtros, índices negativos, rangos, uniones y un descenso recursivo por expresión.

  • Funciona en tu navegador
  • Sin subir archivos
  • Revisa antes de descargar

Las entradas permanecen en esta pestaña; no se suben ni se guardan automáticamente. Los recuentos agregados de uso y los diagnósticos generales de procesamiento son opcionales y solo se envían con consentimiento, sin contenido ni nombres de archivo. Al borrar o cerrar se pierden las entradas; guarda antes los resultados necesarios.

Formatos y límites

Gramática RFC 9535 con rutas y valores normalizados, filtros, índices negativos, rangos, uniones y un descenso recursivo por expresión. Hasta 32 segmentos, un factor de unión de selectores de hasta 16, 2.048 nodos del árbol y 1.000 coincidencias. match y search usan I-Regexp en un proceso que se puede cancelar. No se evalúa JavaScript ni se admite código de funciones propias.

Solo UTF-8. Entrada ≤ 1 MiB; XML ≤ 100.000 unidades UTF-16; profundidad ≤ 64; JSON ≤ 20.000 nodos. JSONL ≤ 16 MiB, 100.000 registros y 1 MiB por valor. Salida ≤ 32 MiB. Consultas: 3 s; el resto de tareas: 10 s; se pueden cancelar. Memoria nativa de XSD ≤ 64 MiB; no incluye toda la memoria del proceso ni del DOM.

Cómo usarlo

  1. Elegir origen y modo

    Pega JSON e introduce una ruta JSONPath que empiece por $. Con el ejemplo de libros cargado, usa $.store.book[?@.price < 10].title; no hace falta ninguna función de retorno de JavaScript.

  2. Configurar parámetros

    El libro A cuesta 8.5 y el B, 12. El filtro devuelve el valor A en la ruta normalizada $['store']['book'][0]['title']; si cambias el umbral a 5, no hay coincidencias, pero la consulta sigue siendo correcta.

  3. Revisar y descargar

    Revisa las rutas junto con los valores y guarda después el resultado en JSON. Una ruta identifica una posición en esta entrada; valores iguales en rutas distintas cuentan como coincidencias separadas. El JSON original no se modifica.

Formatos y límites

¿Por qué se rechaza la entrada o el resultado sale vacío?

Antes de dar por fallido un resultado vacío, comprueba que los nombres de propiedad coincidan en mayúsculas y minúsculas y las posiciones del array. No se admiten expresiones de filtro de JavaScript ni funciones personalizadas. Los errores de precisión numérica se arreglan corrigiendo cómo está escrita la entrada, no debilitando la consulta.

¿Qué perfil de analizador y qué límites se aplican?

El perfil declarado, basado en RFC 9535, limita las expresiones a 32 segmentos y 1000 coincidencias, con un solo descenso recursivo por expresión. match/search usan un procesamiento I-Regexp acotado dentro del worker; no es una evaluación de scripts arbitrarios.

¿Se envían a un servidor la entrada o los archivos a los que hace referencia?

El análisis se ejecuta en local, en un worker del navegador. Las URL que aparezcan en la entrada no descargan documentos remotos. Aporta como archivos locales las dependencias de esquema que sean compatibles, conserva aparte tu fuente y descarga los resultados antes de cerrar la página.