← Tous les outils JSON

Outil de requête JSONPath

Écrivez des expressions JSONPath et voyez les résultats en temps réel.

748 car.
Exemples :
Référence rapide
$Objet racine
.keyPropriété enfant
..keyDescente récursive (trouver la clé n'importe où)
[0]Index du tableau (basé sur 0)
[-1]Dernier élément du tableau
[*]Tous les éléments (joker)
[0:3]Tranche de tableau (début:fin)
['a','b']Union de clés
[?(@.price<10)]Expression de filtre

100% côté client

Toutes les requêtes s'exécutent dans votre navigateur. Vos données JSON ne sont jamais envoyées à un serveur.

Qu'est-ce que JSONPath ?

JSONPath est un langage de requête pour JSON, analogue à XPath pour XML. Une expression JSONPath navigue dans un document JSON et retourne une ou plusieurs valeurs correspondant au chemin spécifié. La racine d'un document est représentée par $, les clés d'objet sont accessibles avec la notation pointée ($.user.name) ou la notation entre crochets, et les éléments de tableau par leur index ou avec un joker ($.items[*]).

JSONPath est largement utilisé dans les systèmes de configuration, les passerelles API, les frameworks de test et les pipelines de transformation de données. AWS EventBridge utilise JSONPath pour filtrer les événements ; Kubernetes l'utilise pour faire correspondre les objets.

Le langage prend en charge plusieurs opérateurs puissants : l'opérateur de descente récursive (..) recherche une clé à tous les niveaux, les expressions de filtre (?(...)) sélectionnent les éléments qui satisfont une condition, et l'opérateur de tranche fonctionne comme le découpage Python sur les tableaux.

Modèles JSONPath courants

Notation pointée et entre crochets : $.store.book[0].title récupère le titre du premier livre. La notation entre crochets est requise quand une clé contient des caractères spéciaux.

Jokers et tranches : $.store.book[*].author retourne tous les auteurs. $.store.book[-1:] retourne uniquement le dernier élément. $.store.book[0:3] retourne les trois premiers éléments.

Descente récursive et filtres : $..price retourne toutes les valeurs de prix à n'importe quel niveau d'imbrication. $.store.book[?(@.price < 10)] retourne tous les livres avec un prix inférieur à 10.

JSONPath vs. JMESPath vs. jq

JSONPath (standardisé dans RFC 9535) est la notation de requête JSON la plus largement reconnue et est supportée nativement dans de nombreux langages et plateformes.

JMESPath est utilisé par AWS CLI et les SDK. Il dispose d'une grammaire plus formelle et supporte des fonctions intégrées (sort_by, keys, values, length, contains).

jq est un processeur JSON en ligne de commande avec son propre mini-langage significativement plus puissant, mais avec une courbe d'apprentissage plus raide. Notre outil JSONPath se concentre sur la norme RFC 9535.

FAQ

Quelle spécification JSONPath cet outil suit-il ?

L'outil implémente RFC 9535 (JSONPath : Expressions de requête pour JSON), la norme IETF 2024 qui remplace la spécification Goessner originale.

Que montre le panneau de résultats ?

Le panneau de résultats affiche un tableau de toutes les valeurs correspondant à l'expression, formatées en JSON mis en forme. Si l'expression ne correspond à rien, un tableau vide est affiché.

Puis-je utiliser des expressions de filtre avec des comparaisons de chaînes ?

Oui. Les expressions de filtre supportent les comparaisons ==, !=, <, >, <=, >=. Les valeurs de chaîne doivent être entre guillemets.

Comment faire correspondre une clé contenant un point ou un espace ?

Utilisez la notation entre crochets avec une clé entre guillemets : $["ma.cle"] ou $["ma cle"].

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

Non. Tout le traitement s'exécute entièrement dans votre navigateur. Rien de ce que vous collez n'est transmis ou stocké.

Outils similaires