JSON Path Finder

Outil JSONPath en ligne gratuit. Recherchez, filtrez et extrayez vos données JSON via des expressions JSONPath. Parfait pour les tests API, l'extraction de données et l'analyse JSON.

clearClearpastePaste
Aide à la syntaxe

Les expressions JSONPath permettent d'interroger un JSON comme XPath pour XML

Opérateurs courants
$Nœud racine
@Nœud courant
.Accès enfant
..Descente récursive
*Joker (tous éléments)
[n]Sous-script de tableau
[start:end]Tranche de tableau
[?(...)]Filtre conditionnel

À propos de JSON Path Finder

JSON Path Finder permet d'interroger et d'extraire des données JSON à l'aide d'expressions JSONPath. Comme XPath pour XML, JSONPath facilite la navigation dans les structures imbriquées, le filtrage et la récupération de valeurs précises. Idéal pour les développeurs d'API, les analystes data et quiconque manipule des JSON complexes.

Qu'est-ce que JSONPath ?

JSONPath est un langage de requête pour JSON, similaire à XPath. Il permet :

- De parcourir objets et tableaux imbriqués
- De filtrer selon des conditions
- D'extraire des valeurs ou des objets complets
- D'utiliser jokers et recherches récursives
- De découper/sélectionner des éléments de tableau

La syntaxe en notation pointée (ex. $.store.book[0].title) est largement utilisée dans les tests API, l'extraction et la transformation de données, les fichiers de configuration et les frameworks de tests.

Quels sont les opérateurs de base ?

Principaux opérateurs JSONPath :

$ : racine
@ : nœud courant (dans les filtres)
. : enfant
.. : descente récursive
* : joker
[] : sous-script ou filtre

Exemples :
- $.store.book : accéder au tableau book
- $.store.* : tous les enfants de store
- $..price : tous les champs price
- $.store.book[0] : premier livre
- $.store.book[*] : tous les livres
- $.store.book[0:2] : deux premiers livres
- $.store.book[?(@.price < 10)] : livres < 10 $

Comment fonctionnent les filtres ?

Les filtres utilisent [?(...)] avec opérateurs de comparaison (==, !=, <, <=, >, >=) et logiques (&&, ||). Exemples :

- $.store.book[?(@.price < 10)]
- $.store.book[?(@.category == 'fiction')]
- $.store.book[?(@.isbn)]
- $.store.book[?(@.price < 10 && @.category == 'fiction')]

Puis-je interroger des tableaux ?

Oui :

- Index : [0], [2], [-1]
- Tranches : [0:3], [2:], [-2:]
- Multiples index : [0,2,4]
- Joker : [*]
- Filtres : [?(@.price > 10)]

Exemple : $.users[*].name retourne tous les noms.

Comment chercher des clés à n'importe quel niveau ?

Utilisez .. (descente récursive) :

- $..author : tous les champs author
- $..price : toutes les valeurs price
- $..book[*] : tous les tableaux book

Pratique quand le chemin exact est inconnu ou que le champ existe à plusieurs niveaux.

Comment extraire plusieurs propriétés ?

Plusieurs méthodes :

1. Exécuter plusieurs requêtes
2. Utiliser la notation $.store.book[*]['title','author']
3. Joker : $.store.book[0].*
4. Retourner l'objet complet : $.store.book[*]

Les résultats s'affichent en JSON pour faciliter la relecture.

Cas d'utilisation courants ?

Développement API : tester des réponses, vérifier les structures, déboguer des intégrations.

Analyse : explorer des jeux JSON, filtrer selon des critères, extraire des valeurs imbriquées.

Transformation : sélectionner des données pour un ETL, mapper des champs vers d'autres formats, préparer un import base.

Tests : valider la structure JSON, extraire des valeurs pour des assertions, vérifier la conformité contractuelle.

Configuration : interroger des fichiers config, extraire des paramètres spécifiques, valider l'arborescence.

Mes données sont-elles protégées ?

Oui. Tout se passe côté navigateur, aucune donnée n'est envoyée ni stockée. L'outil fonctionne hors ligne après chargement. Respectez toutefois les politiques internes avant de coller des données sensibles.