Consultas JSONPath
Saca exactamente los datos que necesitas de un JSON largo con una expresión JSONPath: por ejemplo el nombre de cada usuario o solo los productos de menos de 10.
Cómo consultar un JSON con JSONPath
- Pega tu JSON en el cuadro de la izquierda.
- Escribe una expresión JSONPath en el cuadro «Ruta», empezando siempre por $, por ejemplo $.users[*].name para sacar el nombre de cada usuario.
- El resultado es una lista de los valores encontrados. Activa «Mostrar dónde se encontró cada valor» para ver la ruta de cada uno.
Preguntas frecuentes
$ es el documento entero. .name toma un campo, [0] el primer elemento de una lista, [-1] el último, [*] todos, [1:3] el 2.º y el 3.º, y ..name busca ese campo a cualquier profundidad. Por ejemplo: $.users[0].name o $..price.
Usa [?(...)], donde @ es cada elemento que se revisa. Por ejemplo $.products[?(@.price < 10)] toma los productos de menos de 10. Puedes comparar con ==, !=, <, <=, > y >=, y combinar condiciones con && (y), || (o) y ! (no). Escribe solo [?(@.isbn)] para quedarte con los elementos que tienen ese campo.
Pon el nombre entre corchetes y comillas dobles, por ejemplo $["first name"] o $.users[0]["first-name"].
Una ruta puede encontrar varios valores, así que el resultado siempre es una lista. Si solo coincide uno, la lista tiene un único elemento, y si no coincide nada es la lista vacía [].
Sí, en los filtros. length(@.name) cuenta los caracteres de un texto (o los elementos de una lista), count(@.tags[*]) cuenta los valores encontrados, value(@..color) da el único valor encontrado, match(@.name, "^An") comprueba que todo el texto encaje con un patrón y search(@.name, "An") comprueba que el texto contenga el patrón. Por ejemplo: $.users[?(length(@.name) > 3 && match(@.name, "^B"))].
La sintaxis básica de regex: caracteres normales, un punto (cualquier carácter), [abc] y [a-z], [^abc] (cualquiera menos esos), * + ? y repeticiones exactas, | (o), grupos (…), ^ y $ (inicio y final del texto), \d \w \s, \b (borde de palabra) y grupos Unicode como \p para mayúsculas. No hay búsquedas anticipadas ni retrospectivas (?=…) ni referencias hacia atrás (\1). A cambio, un patrón siempre va rápido: ni uno mal escrito puede congelar la página. Ojo: en la consulta la barra invertida se escribe dos veces, por ejemplo \"\\d+\" para el patrón \d+.
No. Los números se conservan tal cual están en el JSON, y al filtrar por un número la comparación es exacta hasta la última cifra.
No. El JSON se procesa en tu propio dispositivo.
Es totalmente gratis y no hace falta cuenta.
Herramientas relacionadas
JSON a YAMLConvierte entre JSON y YAMLJSON a TOMLConvierte entre JSON y TOMLJSON a CSVConvierte entre JSON y tablas CSVJSON a XMLConvierte JSON a XML con sangríaJSON a TypeScriptGenera interfaces TypeScript a partir de un JSON de ejemploJSON a JSON SchemaGenera un JSON Schema desde un JSON de ejemploValidador de JSON SchemaComprueba si unos datos JSON cumplen un JSON SchemaJSON a ZodGenera un schema de Zod desde un JSON de ejemploJSON a struct de GoGenera structs de Go desde un JSON de ejemplo