Fonctionnement du Testeur JSONPath
Le Testeur JSONPath permet d'évaluer des expressions JSONPath sur des données JSON. En saisissant vos données JSON et une expression JSONPath dans l'outil, vous visualisez immédiatement les valeurs correspondantes ainsi que leur chemin d'origine au sein du document JSON initial. Ce processus facilite la compréhension exacte de ce qu'une expression JSONPath extrait de vos structures de données.
Le traitement s'effectue localement: votre JSON et votre JSONPath sont testés dans votre navigateur. Rien n'est téléversé vers BroBroGo.
Entrées et limites de l'outil
L'outil accepte deux entrées distinctes pour effectuer l'évaluation:
- Entrée JSON: Une zone de texte dans laquelle vous collez vos données JSON. La taille maximale autorisée pour cette entrée est de 500 000 caractères. Si cette limite est dépassée, l'outil affiche le message d'erreur: « Ce JSON est trop volumineux pour être testé ici. Utilisez un échantillon plus petit. »
- Expression JSONPath: Un champ de texte destiné à recevoir l'expression JSONPath à tester. La longueur maximale de cette entrée est de 4 000 caractères. En cas de dépassement, le message suivant s'affiche: « Cette expression JSONPath est trop longue pour être testée ici. »
Résultats et gestion des erreurs
Le panneau des résultats affiche les éléments extraits et fournit des indicateurs sur l'état de l'évaluation:
- Valeurs correspondantes: Une liste des valeurs qui répondent aux critères de l'expression JSONPath. Chaque résultat est accompagné d'un en-tête « Détail » qui montre le chemin d'accès précis de la valeur dans le JSON source.
- Correspondances:
{count}: Cet indicateur affiche le nombre total de correspondances trouvées. L'outil affiche un maximum de 200 résultats. Si le nombre de correspondances dépasse ce seuil, l'outil indique « Correspondances: 200+ » et ajoute la mention « Affichage des{max}premières. » - Aucune correspondance.: Ce message s'affiche lorsqu'aucun élément du JSON ne correspond à l'expression saisie.
- Effacé.: Ce message confirme la réinitialisation des champs de saisie après l'utilisation de la fonction d'effacement.
En cas d'anomalie dans les données ou dans la syntaxe, l'outil génère des messages d'erreur spécifiques:
- Si la syntaxe du document JSON est incorrecte: « Ce JSON n’est pas valide. »
- Si la syntaxe de l'expression JSONPath comporte une erreur: « Cette expression JSONPath n’est pas valide. »
- Si l'évaluation de l'expression échoue techniquement: « Impossible d’évaluer ce JSONPath. »
- Si l'évaluation dépasse le temps limite alloué: « L'évaluation de ce JSONPath a pris trop de temps. Restreignez l’expression ou utilisez un échantillon plus petit. »
Syntaxe JSONPath et sélection de données
JSONPath permet de cibler et d'extraire des données spécifiques au sein de structures JSON complexes ou imbriquées. L'outil prend en charge les motifs de requêtes courants:
- Descente récursive: L'opérateur
..permet de rechercher un nœud dans toute la profondeur de l'arbre JSON, par exemple$..pricepour récupérer tous les prix, peu importe leur niveau d'imbrication. - Filtres: Les expressions de filtrage permettent de sélectionner des éléments selon des critères logiques précis, comme
[?@.price < 10]pour isoler les objets dont la propriété de prix est inférieure à 10. - Tranches de tableau (Array slices): Elles permettent de sélectionner des plages d'éléments spécifiques dans une liste indexée.
L'écriture d'expressions ciblées évite les calculs trop lourds sur les structures volumineuses, prévenant ainsi les interruptions pour dépassement de temps de calcul.
FAQ
Quelle syntaxe JSONPath puis-je utiliser? Utilisez les motifs JSONPath courants tels que $.store.book[*].title, la descente récursive avec $..price, les filtres comme [?@.price < 10] et les tranches de tableau.
Pourquoi chaque résultat affiche-t-il un chemin? Le chemin indique l'origine de la valeur dans le JSON source, ce qui vous permet de copier une correspondance sans perdre son emplacement exact.
Pourquoi une requête peut-elle expirer? Les requêtes récursives très larges ou les exemples volumineux peuvent prendre trop de temps. Le testeur les interrompt après une courte limite afin que vous puissiez restreindre l’expression ou utiliser un échantillon plus petit.