El Provador de JSONPath és una utilitat dissenyada per avaluar expressions JSONPath directament sobre dades en format JSON. En introduir un document JSON i una expressió de cerca, l'eina mostra de manera immediata els valors que coincideixen amb el criteri especificat, juntament amb la ruta exacta que ocupa cada element dins de l'estructura original. Aquest procés facilita la comprensió de com s'extreuen les dades i ajuda a verificar la correcció de les consultes abans d'implementar-les en entorns de producció.
Funcionament i sintaxi de JSONPath
JSONPath és un llenguatge de consultes per a JSON que permet navegar i extreure fragments d'informació de manera similar a com XPath actua sobre documents XML. L'eina admet els patrons de cerca més habituals per interactuar amb estructures de dades complexes:
- Rutes directes i indexació: Permet accedir a propietats i elements de matrius mitjançant rutes definides, com ara
$.store.book[*].title. - Descens recursiu: L'operador de descens recursiu, com ara
$..price, cerca la propietat especificada en qualsevol nivell de profunditat de l'estructura jeràrquica. - Filtres d'expressions: És possible aplicar condicions lògiques per filtrar elements, com per exemple
[?@.price < 10], on només se seleccionen els objectes que compleixen el requisit numèric. - Talls de matriu (array slices): Permet segmentar llistes per obtenir subconjunts d'elements basats en els seus índexs.
L'ús d'aquestes expressions és fonamental en el desenvolupament i la integració d'APIs, on sovint cal processar respostes niades i extreure punts de dades concrets sense haver de recórrer manualment tot el document.
Límits tècnics i validació de dades
Per garantir un rendiment òptim durant l'anàlisi en temps real, l'eina aplica restriccions de mida i temps d'execució tant per a les dades d'entrada com per a les expressions de cerca:
- Mida del JSON: El camp d'entrada de dades admet un màxim de 500.000 caràcters. Si es supera aquest límit, la interfície mostra el missatge d'error: "Aquest JSON és massa gran per provar-lo aquí. Provi amb un exemple més petit.".
- Longitud de l'expressió: El camp destinat a l'expressió JSONPath té un límit de 4.000 caràcters. En cas d'excedir-lo, es mostra l'avís: "Aquesta expressió JSONPath és massa llarga per provar-la aquí.".
- Temps d'espera (Timeout): L'avaluació de l'expressió s'atura automàticament si el procés requereix massa temps de càlcul. Si es produeix aquesta situació, es presenta l'error: "Aquest JSONPath ha trigat massa a executar-se. Acoteu l'expressió o utilitzeu un exemple més petit.".
- Límit de resultats: L'eina mostra un màxim de 200 resultats. Si el nombre de coincidències és superior, s'indica mitjançant el text "Coincidències: 200+" i s'afegeix la nota "Es mostren les primeres
{max}.".
Gestió d'errors i missatges de la interfície
Durant l'anàlisi de les dades i de la consulta, el sistema valida contínuament la sintaxi per identificar anomalies. Els missatges d'error defineixen l'origen exacte del problema:
- Si l'estructura del document JSON conté errors de format o no és vàlida, es mostra el missatge: "Aquest JSON no és vàlid.".
- Si l'expressió de cerca introduïda no compleix amb les regles sintàctiques de JSONPath, es visualitza l'avís: "Aquesta expressió JSONPath és no és vàlida.".
- En cas que l'expressió estigui ben escrita però no es pugui processar contra l'estructura proporcionada, es detalla: "No s'ha pogut avaluar aquest JSONPath.".
- Quan es buiden els camps de text mitjançant l'acció corresponent, es confirma amb el missatge: "S'ha netejat.".
- Si l'expressió no troba cap correspondència dins del document, es mostra: "Sense coincidències.".
Cada coincidència obtinguda es presenta a la llista de resultats acompanyada de la seva ubicació d'origen sota l'encapçalament "Detall", fet que permet copiar el valor conservant la referència de la seva posició original.
Privadesa i seguretat de les dades
El processament de la informació es realitza de manera local. El seu JSON i JSONPath es proven al seu navegador. No es puja res a BroBroGo, garantint que les dades introduïdes no es transmeten ni s'emmagatzemen en servidors externs durant l'ús de l'aplicació.
Preguntes freqüents
Quina sintaxi de JSONPath puc utilitzar?
Podeu utilitzar patrons habituals de JSONPath com ara $.store.book[*].title, descens recursiu amb $..price, filtres com [?@.price < 10] i talls de matriu (array slices).
Per què cada resultat mostra una ruta?
La ruta mostra d'on prové el valor en el JSON d'origen, de manera que podeu copiar una coincidència sense perdre la seva ubicació.
Per què pot expirar el temps d'espera d'una consulta?
Les consultes recursives molt àmplies o els exemples de dades gegants poden trigar massa. L'analitzador les atura després d'un breu límit de temps perquè pugueu acotar l'expressió o utilitzar un exemple més petit.