jsonata

JSONata - Aperçu et exemples de données JSON

Florian Zyprian

JSONata est un langage de transformation de données puissant utilisé pour transformer et interroger des données JSON. Il offre une syntaxe simple mais flexible pour filtrer et transformer des données au format JSON. Ce tutoriel aborde les bases de JSONata et montre comment l'utiliser pour manipuler et interroger des données JSON.

Qu'est-ce que JSONata ?

JSONata est un langage de requête et de transformation utilisé pour manipuler et transformer les données JSON. Il a été développé par IBM et est désormais un projet open source. JSONata offre une syntaxe simple et intuitive qui permet d'extraire, de filtrer et de transformer des données à partir de documents JSON.

JSONata est particulièrement utile pour travailler avec des structures de données JSON complexes, telles qu'elles sont utilisées dans les services web et les API. JSONata permet d'extraire et de transformer facilement les données de ces structures, ce qui facilite le travail avec celles-ci dans vos applications.

Démarrer avec JSONata

Avant de nous plonger dans les détails de JSONata, jetons d'abord un coup d'œil à la manière dont vous pouvez commencer à l'utiliser. La manière la plus simple d'utiliser JSONata est d'utiliser l'évaluateur JSONata en ligne, qui vous permet d'expérimenter avec des expressions JSONata et de voir les résultats en temps réel.

Pour utiliser l'évaluateur JSONata en ligne, il suffit de naviguer vers l'URL suivante :

https://try.jsonata.org/

Une fois que vous avez ouvert l'évaluateur, vous pouvez expérimenter les expressions JSONata. L'évaluateur propose un éditeur JSON sur la gauche, dans lequel vous pouvez saisir vos données JSON, et un éditeur d'expressions JSONata sur la droite, dans lequel vous pouvez saisir vos expressions JSONata.

Syntaxe JSONata de base

Les expressions JSONata consistent en une combinaison d'opérateurs et de fonctions qui vous permettent d'extraire et de transformer des données à partir de documents JSON. Voici quelques règles syntaxiques de base à respecter lorsque vous travaillez avec JSONata :

  • Les expressions JSONata sont entourées d'accolades {}.
  • Les expressions JSONata peuvent contenir des valeurs littérales telles que des chaînes de caractères et des nombres.
  • Les expressions JSONata peuvent contenir des variables commençant par un symbole $.
  • Les expressions JSONata peuvent contenir des fonctions qui sont appelées par le nom de la fonction suivi d'une série de parenthèses ().

Fonctions JSONata

JSONata offre un grand nombre de fonctions intégrées que vous pouvez utiliser pour manipuler et transformer des données JSON. Voici quelques-unes des fonctions les plus fréquemment utilisées :

  • $map - Cette fonction permet de transformer un tableau de valeurs à l'aide d'une expression spécifique.
  • $filter - Cette fonction permet de filtrer un tableau de valeurs en fonction d'une expression spécifique.
  • $sort - Cette fonction permet de trier un tableau de valeurs en fonction d'une expression spécifique.
  • $reduce - Cette fonction permet de réduire un tableau de valeurs à une seule valeur à l'aide d'une expression spécifique.
  • $merge - Cette fonction vous permet de fusionner deux objets ou plus en un seul objet.

Exemples de JSONata

Maintenant que vous avez une compréhension de base de la syntaxe et des fonctions de JSONata, jetons un coup d'œil à quelques exemples de la façon dont vous pouvez l'utiliser pour manipuler et transformer des données JSON.

Exemple 1 - Extraire des données de JSON

Supposons que vous ayez les données JSON suivantes :

{
  "name" : "John Doe",
  "age" : 30 ans,
  "email" : "[email protected]",
  "phone" : {
    "home" : "555-1234",
    "work" : "555-5678"
  },
  "address" : {
    "street" : "123 Main St",
    "city" : "Anytown",
    "state" : "CA",
    "zip" : "12345"
  }
}

Vous pouvez utiliser l'expression JSONata suivante pour extraire le nom, l'adresse e-mail et le numéro de téléphone :

{
  "name" : nom,
  "email" : email,
  "phone" : {
    "home" : phone.home
  }
}

Dans l'exemple ci-dessus, nous utilisons des accolades {} pour définir un nouvel objet avec trois propriétés : nom, e-mail et téléphone. Nous utilisons ensuite des variables (name, email, phone) pour extraire les valeurs correspondantes des données JSON en entrée.

Notez que nous utilisons la notation par points pour accéder aux valeurs imbriquées dans les objets téléphone et adresse. Par exemple, phone.home se réfère à la valeur de la propriété home dans l'objet téléphone.

Exemple 2 : Filtrer des données à partir de JSON Supposons que vous ayez les données JSON suivantes, qui représentent une liste d'employés :

Exemple 2 - Filtrage de données à partir de JSON

Supposons que vous ayez les données JSON suivantes, qui représentent une liste d'employés :

[ "name" : "John Doe", "age" : 30, "department" : "Sales" }, { "name" : "Jane Smith", "age" : 40, "department" : "Marketing" }, { "name" : "Bob Johnson", "age" : 25, "department" : "Engineering" }]

Vous pouvez utiliser l'expression JSONata suivante pour filtrer la liste des employés et n'inclure que ceux qui travaillent dans le département des ventes :

$[department="Sales"]

Dans l'expression ci-dessus, nous utilisons la fonction de filtre $ pour filtrer la liste des employés en fonction d'une condition. La condition est spécifiée avec la notation point pour accéder à la propriété du service, suivie d'un signe égal (=) et de la chaîne "Sales".

Exemple 3 - Transformation de données à partir de JSON

Supposons que vous ayez les données JSON suivantes, qui représentent une liste de produits :

[ { "name" : "Product 1", "price" : 10 }, { "name" : "Product 2", "price" : 20 }, { "name" : "Product 3", "price" : 30 }]

Vous pouvez utiliser l'expression JSONata suivante pour transformer la liste des produits et ajouter une nouvelle propriété

$map($, function($product) {
  $product {
    "priceWithTax" : $product.prix * 1.1
  }
})

Dans l'expression ci-dessus, nous utilisons la fonction $map pour transformer chaque produit de la liste. Nous passons la liste complète des produits avec le symbole $ et utilisons une fonction anonyme pour définir comment chaque produit doit être transformé.

Au sein de la fonction anonyme, nous utilisons les accolades {} pour définir un nouvel objet avec les propriétés existantes du produit et une nouvelle propriété appelée "priceWithTax". Nous utilisons la notation par points pour accéder à la propriété prix du produit et la multiplions par 1,1 pour calculer le prix avec taxes.

Konfuzio Document API et JSONata

Konfuzio Document API peut aider à travailler avec des documents JSON et JSONata, notamment pour l'analyse de documents contenant des données structurées, comme des factures, des reçus ou des tableaux. L'API peut extraire automatiquement ces données et les convertir au format JSON, qui peut ensuite être traité avec JSONata.

En utilisant JSONata et l'API de document Konfuzio, les développeurs peuvent rapidement et facilement extraire, filtrer et transformer des structures de données complexes à partir de documents, ce qui permet d'économiser du temps et des efforts et d'améliorer l'efficacité.

Conclusion sur JSONata

Dans ce tutoriel, nous avons abordé les bases de JSONata et vous avons montré comment l'utiliser pour manipuler et interroger des données JSON. Nous avons examiné la syntaxe de base des expressions JSONata ainsi que certaines des fonctions les plus fréquemment utilisées. Nous avons également donné des exemples de la manière dont vous pouvez utiliser JSONata pour extraire, filtrer et transformer des données à partir de documents JSON.

JSONata est un outil puissant qui vous permet de travailler plus facilement avec des structures de données JSON complexes. Avec JSONata, vous pouvez effectuer des transformations de données complexes avec seulement quelques lignes de code. Nous espérons que ce tutoriel vous a permis de commencer à utiliser JSONata et qu'il vous a inspiré pour explorer davantage ses possibilités.

De plus, la Konfuzio API de documents à traiter et à gérer des documents en JSON et JSONata. L'API vous permet par exemple de convertir des documents en JSON, puis d'en extraire ou d'en transformer certaines données à l'aide de requêtes JSONata. Vous pouvez ainsi traiter et analyser rapidement et facilement de grandes quantités de documents.

À propos de moi

Autres grands articles

Mains tapant sur ordinateur portable ocr validation

Optimiser la gestion des documents avec l'OCR Validation

La vérification des identités et des documents est une tâche qui prend du temps pour les entreprises de tous les secteurs. En raison des longs temps de traitement et de...

Lire l'article
Arbre de décision titre

Prendre des décisions complexes en toute connaissance de cause grâce à l'arbre décisionnel

Si vous devez régulièrement prendre des décisions importantes et complexes dans votre vie professionnelle, l'arbre de décision est un outil important. Il aide à la prise de décision,...

Lire l'article
Snapshot Konfuzio how to

Konfuzio Snapshot comment faire - Guide

Le traitement de documents basé sur l'IA nécessite d'abord un entraînement avec des données de test appropriées. Celles-ci sont souvent soumises au RGPD et doivent donc...

Lire l'article
Arrow-up