JSONPath Tester
Testeur interactif de requêtes JSONPath pour extraire des données JSON.
📝 JSON Input
🔍 JSONPath Query
📤 Résultat
📖 Syntaxe JSONPath
$
Racine du document
$.store
Accès à une propriété
$.store.books[0]
Premier élément du tableau
$.store.books[-1]
Dernier élément du tableau
$.store.books[*]
Tous les éléments
$.store.books[0:2]
Slice (indices 0 et 1)
$.store.books[*].title
Propriété de tous les éléments
$..title
Recherche récursive
$..price
Tous les prix (récursif)
$.store.books[?(@.price<15)]
Filtre: prix < 15
$.store.books[?(@.category=="fiction")]
Filtre par catégorie
$.store.books.length
Nombre d'éléments
Syntaxe JSONPath
| Expression | Description |
|---|---|
$ |
Racine du document |
. ou [] |
Accès enfant |
.. |
Descente récursive |
* |
Wildcard (tous les éléments) |
[n] |
Index du tableau (0-based) |
[-n] |
Index depuis la fin |
[start:end] |
Slice du tableau |
[?(expr)] |
Filtre avec expression |
@ |
Élément courant (dans les filtres) |
Filtres courants
# Prix inférieur à 20
$.products[?(@.price < 20)]
# Statut actif
$.users[?(@.active == true)]
# Catégorie spécifique
$.items[?(@.category == "electronics")]
# Contient une propriété
$.objects[?(@.name)]
# Combinaison
$.products[?(@.price < 100 && @.stock > 0)]
Comparaison avec jq
| JSONPath | jq |
|---|---|
$.users[0].name |
.users[0].name |
$.users[*].name |
.users[].name |
$..name |
.. \| .name? |
$.users[?(@.active)] |
.users[] \| select(.active) |