Herramientas JSON

Probador de JMESPathselecciona datos y define su estructura

Ejecuta el filtro de edad con el botón o Ctrl/Cmd+Enter. Si cambias los datos o la expresión, vuelve a ejecutar.

Probador de JMESPath

JSON de entrada

Resultado

Vista previa en bloques de 5.000 caracteres. Copia y descarga incluyen el resultado completo.

JSON y expresiones permanecen en la memoria del navegador; no se guardan.

jmespath.js 0.16.0 oficial · Parches de seguridad · 26 funciones estándar

Resultado desactualizado; copiar y descargar están desactivados.

El Probador de JMESPath ayuda cuando una respuesta de la nube incluye muchas propiedades y tu script solo necesita nombres o un recuento. Revisar la estructura devuelta evita confundir un objeto con una lista en el siguiente paso.

Una Expresión JMESPath genera un valor JSON nuevo sin editar el documento original. Prueba una consulta breve contra tus datos JSON y compara la proyección de un campo con la creación de un objeto.

Por qué usar este Probador de JMESPath

Filtrar registros y proyectar campos

Una condición conserva las personas que te interesan y la proyección extrae sus nombres. Las proyecciones omiten los resultados null, por lo que la longitud final puede ser menor que la del conjunto evaluado.

Varios registros atraviesan un filtro y sus campos seleccionados forman una lista más corta.

Dar forma a la salida

Reúne nombres y un recuento en un objeto, o ordena por una propiedad. El Probador de JMESPath muestra las claves y los tipos que recibirá tu aplicación antes de trasladar la expresión al script.

Los campos forman un objeto nuevo y una función transforma una colección en un valor.

Comprueba tipos y resultados vigentes

01

Prepara JSON estricto

Pega texto o importa un archivo local de hasta 500.000 bytes. La entrada decodificada admite 500.000 caracteres. Importar, cargar el ejemplo o vaciar requiere aplicar una vista previa; puedes deshacer una vez y recuperar también expresión y resultado. El archivo debe contener UTF-8 válido. No se elimina el BOM y su presencia causa un error de validación JSON.

02

Ejecuta después de editar

El cálculo es manual; también puedes usar Ctrl/Cmd+Enter. Elegir una consulta de ejemplo solo cambia la expresión. Cualquier edición invalida la salida anterior y bloquea la exportación hasta que una nueva ejecución termine bien.

03

Examina el valor completo

null, false, 0, una cadena vacía y [] pueden ser resultados correctos. La vista previa crece de 5.000 en 5.000 caracteres; copiar y descargar siempre incluye la salida completa aceptada.

Selección, construcción y cálculo

Filtros por valores numéricos

people[?age >= `18`].name compara la edad y devuelve los nombres. Los literales numéricos van entre acentos graves. Una cadena con dígitos sigue siendo distinta de un número.

Objetos con claves elegidas

{names: people[].name, count: length(people)} crea una estructura con una lista y un recuento. Las listas multiselección pueden conservar posiciones null que una proyección omitiría.

Tuberías y referencias

Una tubería entrega el resultado completo de la izquierda a la derecha. sort_by puede usar &age como referencia de expresión; no equivale a una cadena con el nombre del campo. Las funciones exigen tipos concretos.

Errores separados de valores vacíos

La herramienta distingue JSON inválido, sintaxis, funciones desconocidas, cantidad de argumentos y tipos incorrectos. Un campo ausente puede producir null con éxito, sin convertirse en un error de análisis.

Sintaxis y límites de ejecución

Motor y funciones definidos
Se usa jmespath.js 0.16.0 oficial con parches de seguridad y 26 funciones estándar. No admite JSONPath, jq, group_by, extensiones regex, funciones personalizadas ni JavaScript arbitrario. Los acentos graves deben contener JSON estricto; las cadenas sin procesar usan comillas simples. Las referencias de expresión solo sirven como argumentos, no como salida.
Decimales de punto flotante
Se rechazan claves repetidas, comentarios y comas finales. Los enteros no seguros y desbordamientos en entrada, literales o resultados generan errores. Los decimales usan números JavaScript, sin aritmética decimal exacta ni conservación de su escritura. Se rechazan sumas intermedias no seguras en sum o avg aunque el valor matemático final fuera seguro.
Recursos acotados
La entrada admite 500.000 caracteres; la expresión, 2.000; y la salida, 2.000.000. También hay presupuestos de estructura y evaluación. El Worker se detiene a los 2 segundos; superar un límite no produce una descarga parcial.
Valores sin rutas de origen
La salida es un valor JSON, no una lista de rutas normalizadas. No hay descenso recursivo JSONPath, edición del origen ni exportación CSV. Un campo ausente y un null explícito pueden dar el mismo resultado.
Solo memoria del navegador
No se guarda historial, no se consultan URL ni se crean enlaces con los datos. Los archivos locales se procesan dentro del navegador. Al recargar la página se pierde el trabajo actual.

Preguntas sobre el Probador de JMESPath

¿Cómo obtengo varios valores?

Una selección múltiple agrupa valores: {names: people[].name, count: length(people)} devuelve un objeto con una lista y un número. La fuente no cambia al construir esa salida.

¿Cómo extraigo propiedades de una matriz?

people[].name proyecta name sobre los elementos del array. Los resultados null de la proyección se omiten. Comprueba el nivel del array y el nombre exacto de la propiedad si no obtienes la lista esperada.

¿Cómo filtro matrices con expresiones booleanas?

people[?active == `true`].name conserva registros cuyo campo active es el booleano true. No es equivalente a la cadena 'true'. Puedes combinar condiciones con operadores lógicos.

¿Qué funciones están disponibles?

El Probador de JMESPath ofrece las 26 funciones estándar de jmespath.js 0.16.0, como length, sort_by, contains y sum. group_by no forma parte de este conjunto. Los tipos de argumentos incorrectos producen errores.

¿Cómo funcionan las expresiones de tubería?

people[].name | [0] genera primero toda la lista de nombres y luego selecciona el primero. La tubería transmite un valor JSON; no ejecuta órdenes del sistema.

¿Alguna consulta se interpreta de forma incorrecta?

Empieza con una consulta pequeña

Usa el Probador de JMESPath con el ejemplo, cambia una condición y revisa el tipo devuelto antes de introducir una respuesta más grande.