# REPL JSONPath interactif

Un REPL interactif JSONPath qui exécute des pipelines de requête multi-étapes sur n’importe quel JSON. Écrivez une expression JSONPath par ligne (ex. $..book[?(@.price<10)] puis $[0:5]) et voyez les correspondances de chaque étape avec comptes, chemins et valeurs — plus une URL partageable codant vos données et pipeline. Supporte la descente récursive ($..), les jokers ([*]), les filtres ([?(@.price<10)]), les slices ([0:5:2]) et les index négatifs.

> Page canonique: https://elysiatools.com/fr/tools/jsonpath-repl-playground

- **Catégorie:** Development

- **Mots-clés:** jsonpath, json, repl, playground, pipeline, requête, jmespath, chemin json, débogage, api, exploration de données, filtre, slice, descente récursive

## Présentation

Une boucle lecture-évaluation-affichage pour les requêtes JSONPath, conçue pour déboguer les réponses d’API et explorer des jeux de données JSON :

1. **Collez le JSON** dans le champ de données (par défaut le classique exemple « store/book »).
2. **Écrivez un pipeline** — une expression JSONPath par ligne ; chaque ligne s’exécute sur la sortie de la précédente.
3. **Voyez chaque étape** — chaque ligne affiche sa carte avec l’expression, le nombre de correspondances et les nœuds.
4. **Partagez** — génère un jeton URL-safe codant votre JSON + pipeline.
5. **Syntaxe prise en charge** — `$` racine, `.key` et `['key']`, `*` joker, `..` descente récursive, index, slices `[start:end:step]`, filtres `[?(expr)]`.

Fonctionne entièrement hors ligne.

## Entrées

- **Données JSON** (textarea): { "store": { "book": \[ { "category": "reference", "author": "Nigel Rees", "title": "Sayings of the Century", "price": 8.95 }, { "category": "fiction", "author": "Evelyn Waugh", "title": "Sword of Honour", "price": 12.99 }, { "category": "fiction", "author": "Herman Melville", "title": "Moby Dick", "price": 8.99 }, { "category": "fiction", "author": "J. R. R. Tolkien", "title": "The Lord of the Rings", "price": 22.99 } \], "bicycle": { "color": "red", "price": 19.95 } } }
- **Pipeline (une étape par ligne)** (textarea): $..book\[?(@.price < 10)\] $\[*\].title
- **Mode d'affichage** (select)
- **Résultats max** (number)
- **Titre de l’historique** (text): Optional label saved with this query so you can find it again.

## Quand l'utiliser

- Lors du débogage de réponses d'API complexes nécessitant des filtres ou des sélections imbriquées.
- Pour concevoir et tester des expressions JSONPath étape par étape avant de les intégrer dans le code d'une application.
- Pour extraire rapidement des sous-ensembles de données à partir de fichiers JSON volumineux sans écrire de script.

## Fonctionnement

- Collez vos données JSON dans le champ d'entrée principal.
- Saisissez vos expressions JSONPath dans le champ pipeline, à raison d'une requête par ligne pour chaîner les traitements.
- Choisissez le mode d'affichage souhaité (valeurs, chemins + valeurs ou brut) pour visualiser instantanément les correspondances générées à chaque étape.

## Cas d'usage

- Filtrage de listes d'objets selon des critères numériques ou textuels spécifiques.
- Extraction de clés spécifiques comme des titres ou des identifiants à partir d'une structure JSON imbriquée.
- Découpage (slicing) de tableaux pour extraire uniquement les premiers ou derniers éléments d'un jeu de données.

## Questions fréquentes

### Qu'est-ce qu'un pipeline JSONPath ?

C'est une suite de requêtes exécutées séquentiellement, où chaque ligne filtre ou transforme le résultat de la ligne précédente.

### Quelles syntaxes JSONPath sont prises en charge ?

L'outil supporte la racine ($), la descente récursive (..), les jokers (*), les filtres conditionnels [?(expr)], les slices [début:fin:pas] et les index négatifs.

### Mes données JSON sont-elles envoyées à un serveur ?

Non, l'évaluation des expressions JSONPath s'effectue entièrement en local dans votre navigateur pour garantir la confidentialité.

### Comment puis-je partager ma configuration de requête ?

L'outil génère une URL unique contenant vos données JSON et votre pipeline encodés de manière sécurisée.

### Puis-je limiter le nombre de résultats affichés ?

Oui, vous pouvez définir une limite maximale de résultats via l'option 'Résultats max' pour éviter de surcharger l'affichage.

## Outils associés

- [Générateur de treemap](https://elysiatools.com/fr/tools/treemap-generator): Génère un treemap à partir de données hiérarchiques, l'aire représentant les proportions
- [Générateur de Data URI](https://elysiatools.com/fr/tools/data-uri-generator): Convertit les fichiers en Data URI (Base64 ou pourcentage-encodé) pour intégrer images, polices et ressources directement dans HTML, CSS ou Markdown
- [Planificateur de budget de latence API](https://elysiatools.com/fr/tools/api-latency-budget-planner): Planifiez et visualisez un budget de latence API. Saisissez une cible P99 (ex. ≤ 300ms) et l’allocation par étape (DNS, TCP, TLS, TTFB, Processing, Network) pour voir un waterfall en direct, l’utilisation du budget et des alertes de dépassement. Collez optionnellement une trace OpenTelemetry ou Datadog pour déduire une allocation mesurée.
- [Generateur de Snippets de Requetes API](https://elysiatools.com/fr/tools/api-request-code-snippet-generator): Genere du cURL et des snippets dans des langages courants a partir d une URL, methode, en-tetes, query et body
- [Validateur de contrat de reponse API](https://elysiatools.com/fr/tools/api-response-contract-validator): Valide une reponse JSON reelle contre le schema de reponse defini dans OpenAPI 3.x
- [Decodeur de traces distribuees et waterfall](https://elysiatools.com/fr/tools/distributed-trace-decoder-waterfall-visualizer): Analyse des traces JSON Jaeger, Zipkin ou OpenTelemetry et affiche spans, latence et erreurs en waterfall
- [Visualiseur de diff JSON](https://elysiatools.com/fr/tools/json-diff-visualizer): Compare deux JSON et genere un rapport visuel avec chemins et statistiques
- [Outil de requete JSONPath](https://elysiatools.com/fr/tools/jsonpath-query-tool): Interroge nimporte quel JSON avec JSONPath, previsualise les correspondances, change le format de sortie et enregistre des modeles reutilisables

## Exemples

- [Echantillons NDJSON](https://elysiatools.com/fr/samples/ndjson-samples): Echantillons NDJSON du simple au complexe pour ingestion et streaming
- [Exemples JWT](https://elysiatools.com/fr/samples/jwt-samples): Exemples complets de JWT de la structure de base des tokens aux implémentations de sécurité avancées
- [Collections Postman - Tests API](https://elysiatools.com/fr/samples/postman-collections): Exemples complets de collections Postman incluant tests API, scripts d'automatisation, variables d'environnement, serveurs mock et patterns de test avancés pour REST APIs
- [Exemples JSON de Terraform Plan](https://elysiatools.com/fr/samples/terraform-plan-json-samples): Fichiers Terraform plan JSON pour visualiser les dependances et revoir les changements, proches de terraform show -json

## Contenu associé

- [Outils d interchange JSON et de traduction de formats](https://elysiatools.com/fr/hubs/json-convert): Comparez les outils de conversion JSON pour CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN et d autres formats structures dans un meme hub.
- [Outils d inspection, de diff et de transformation JSON](https://elysiatools.com/fr/hubs/json-utility): Regroupe dans un meme hub les outils de formatage JSON, comparaison, inspection de chemins, validation de schema, fusion et transformation pour les workflows API et donnees.
- [Generateurs de schemas JSON, donnees mock et fixtures API](https://elysiatools.com/fr/hubs/json-generate): Des outils reunis pour generation de schemas JSON, construction de payloads mock et preparation de fixtures API dans un seul hub.
- [Outils de formatage, de diff et de normalisation JSON](https://elysiatools.com/fr/hubs/json-format): Comparez les outils de formatage JSON, diff, revue de logs, comparaison de configuration et normalisation de données dans un hub unique pour les workflows JSON lisibles et vérifiables.
