Testeur JSONPath

Exécute une requête JSONPath dans le navigateur. Pour mettre le document en forme, utilisez le formateur JSON

Ce que vous pouvez interroger

JSONPath extrait des valeurs d'un document JSON. Cette page exécute un sous-ensemble pratique et renvoie chaque correspondance en JSON. Pour ranger le document d'abord, utilisez le formateur JSON.

Comment l'utiliser

  1. Collez le JSON dans le cadre du haut et un chemin dans JSONPath. Le chemin commence à $.
  2. Convertir exécute la requête. La ligne à côté du chemin dit combien de correspondances sont revenues.
  3. Afficher un exemple charge {"store":{"book":[{"author":"Nigel","price":8},{"author":"Evelyn","price":12}],"bicycle":{"price":19}}} et le chemin $.store.book[*].author. Le résultat est un tableau JSON de Nigel et Evelyn, et le compte est 2.
  4. Les pastilles remplissent le même document si le cadre est vide. $.store.book[?(@.price<10)].author renvoie Nigel. $..price renvoie 8, 12 et 19.
  5. Tout effacer vide le document, remet le chemin à $ et efface le compte. Copier le résultat copie les correspondances JSON.

Chemins acceptés par cette page

$ est la racine. .key et ['key'] lisent une propriété. [n] lit un index, et un index négatif compte depuis la fin. [*] lit chaque élément ou propriété. [start:end:step] tranche un tableau, la fin étant exclue. [0,2] choisit ces index. ..key parcourt chaque objet imbriqué et collecte cette clé.

Un filtre a la forme [?(@.price<10)] ou [?(@.author=='Nigel')]. Les comparaisons sont ==, !=, <, >, <= et >=. Le texte est comparé exactement. L'ordre s'applique aux nombres. Le filtre s'exécute sur un tableau. Un chemin inconnu, ou un JSON qui ne s'analyse pas, est une erreur. Zéro correspondance est un tableau vide valide.

Où on s'en sert

  • Tirer un champ de chaque objet d'une liste.
  • Garder les lignes dont le prix est sous un nombre.
  • Trouver chaque prix, y compris ceux imbriqués dans des objets différents.

Questions

Pourquoi le résultat est-il un tableau quand il n'y a qu'un auteur ?

Chaque requête renvoie la liste des correspondances, donc un seul résultat reste un tableau d'un élément.

Une expression de script fonctionne-t-elle ?

Les filtres sont une comparaison sur @ et ses champs. Toute autre syntaxe de script s'arrête sur une erreur.