jsonextract

Utilisez la commande jsonextract pour obtenir des extraits d'un champ existant à l'aide d'un chemin Json à partir de données au format JSON. La commande capture l'extrait obtenu dans un champ virtuel.

Remarque

La commande jsonextract ne peut pas fonctionner dans le champ Contenu du journal d'origine. Le champ par défaut, si aucun n'est spécifié, est Message. Le champ extrait a un type de données string, number ou list.

jsonextract n'est pas destiné à extraire des valeurs de grandes quantités de texte ou à traiter un grand nombre d'enregistrements de journal. Utilisez l'analyseur de type JSON et une source de journal pour de tels cas d'emploi.

Syntaxe

jsonextract field = <field_to_parse> <new_field_name> = <jsonPath>

Paramètres

Le tableau suivant répertorie les paramètres utilisés dans cette commande, ainsi que leur description.

Paramètre Description

field_to_parse

Indiquez le champ existant qui doit être analysé à l'aide du chemin Json.

new_field_name

Indiquez le champ virtuel dans lequel l'extrait du champ existant doit être capturé.

jsonPath

Indiquez le chemin Json où les informations du champ virtuel peuvent être obtenues.

Les expressions de chemin Json font référence à une structure JSON. Dans le chemin Json, l'objet membre racine est appelé $, qu'il s'agisse d'un objet ou d'un tableau.

Les expressions de chemin Json peuvent utiliser la notation par points comme dans $.store.book[0].title ou la notation entre crochets comme dans $['store']['book'][0]['title']. Pour plus d'informations sur le chemin Json, reportez-vous à Expressions JsonPath.

L'exemple suivant utilise la commande jsonextract pour rechercher le titre du premier livre dans le Json :

* | jsonextract field = Store title = '$.store.book[0].title'

Exemple de journal à partir duquel la valeur doit être extraite :

{
  "store":{
    "book":[
      {"category":"fiction","author":"James Patterson","title":"Fifty Fifty","price":12.99,"count":17},
      {"category":"fiction","author":"Chris Bohjalian","title":"The Flight Attendant","price":14.99,"count":10},
      {"category":"fiction","author":"John Grisham","title":"The Guardians","price":10.99}
      ],
    "bicycle":{"color":"blue","price":27.25}
    },
  "expensive":12
}