JSONPath est langage expression permettant d'interroger et extraire données depuis structures JSON. Inspiré par XPath pour XML, il fournit moyen de parcourir hiérarchie JSON et localiser précisément champs ou valeurs, similaire à manière dont requêtes SQL interrogent bases de données. Il est devenu outil indispensable pour développeurs et testeurs travaillant avec API et données JSON.
Concept fondamental de JSONPath est utilisation d'expressions chemin pour naviguer dans structure arborescente JSON. Symbole racine $ représente point départ, puis opérateur point . accède à propriétés enfant, crochets [] accèdent à éléments tableau par index. Par exemple, expression $.store.book[0].title part de racine, accède à objet store, puis tableau book, prend premier élément et renvoie valeur champ title.
Pour tableaux, JSONPath prend en charge plusieurs modes accès : index numérique simple comme [0] pour premier élément, index négatif [-1] pour dernier élément sans connaître longueur tableau, joker * pour correspondre à tous éléments, et syntaxe tranche [start:end] pour extraire plage éléments consécutifs. Ces fonctionnalités couvrent grande majorité besoins accès tableaux dans scénarios usage courant.
Opérateur joker * peut être utilisé pour correspondre à toute propriété ou tout élément. Par exemple $.store.* renvoie tous champs directs dans store, et $.store.book[*] renvoie tous éléments dans tableau book. C'est particulièrement utile pour parcourir tous enfants sans connaître noms champs explicites.
Fonctionnalité filtre ?() est mécanisme puissant pour sélection conditionnelle données. Dans filtre, @ représente nœud courant, et opérateurs comparaison ==/!=/>/</>=/<= peuvent être utilisés pour filtrer éléments selon condition. Par exemple $.store.book[?(@.price < 10)] sélectionne tous livres dans tableau book dont prix inférieur à 10, très pratique pour extraire rapidement sous-ensembles données répondant à critères.
Cet outil intègre plusieurs fonctionnalités pour améliorer expérience utilisation : éditeur CodeMirror avec surlignage syntaxe professionnel, double vue JSON/tableau pour présentation résultats adaptable, 8 exemples intégrés pour prise en main rapide, réparation automatique erreurs JSON courantes, debounce 400ms pour exécution fluide pendant saisie, raccourcis clavier pour efficacité, et historique local 200 entrées pour rappeler expressions précédentes.
Tout traitement s'effectue localement dans navigateur : JSON et expressions requête ne sont jamais envoyés vers serveurs, garantissant confidentialité absolue données sensibles comme identifiants API, tokens et informations métier. C'est particulièrement important pour ingénieurs test traitant réponses API production contenant données sensibles.
Cet outil implémente sous-ensemble syntaxe JSONPath soigneusement sélectionné couvrant 90% scénarios usage quotidien : accès propriété, index tableau (positifs/négatifs), joker *, tranche [start:end] et filtres simples ?() avec opérateurs comparaison. Fonctionnalités avancées comme descente récursive (..), expressions script complexes et combinaisons conditions multiples ne sont pas prises en charge dans cette version, privilégiant stabilité et simplicité pour usages courants.