jsonextract
Verwenden Sie den Befehl jsonextract
, um Auszüge eines vorhandenen Feldes mit einem Json-Pfad aus Daten im JSON-Format abzurufen. Der Befehl erfasst den resultierenden Auszug in einem virtuellen Feld.
Der Befehl jsonextract
kann nicht für das Feld Originalloginhalt ausgeführt werden. Wenn kein Feld angegeben ist, lautet das Standardfeld Meldung. Das extrahierte Feld hat den Datentyp Zeichenfolge, Zahl oder Liste.
jsonextract
dient nicht zum Extrahieren von Werten aus großen Textmengen oder zum Verarbeiten einer großen Anzahl von Logdatensätzen. Verwenden Sie den JSON-Typparser und eine Logquelle für solche Anwendungsfälle.
Syntax
jsonextract field = <field_to_parse> <new_field_name> = <jsonPath>
Parameter
In der folgenden Tabelle sind die in diesem Befehl verwendeten Parameter sowie deren Beschreibungen aufgeführt.
Parameter | Beschreibung |
---|---|
|
Geben Sie das vorhandene Feld an, das mit dem Json-Pfad geparst werden muss. |
|
Geben Sie das virtuelle Feld an, in dem der Auszug des vorhandenen Feldes erfasst werden soll. |
|
Geben Sie den Json-Pfad an, in dem die Informationen für das virtuelle Feld abgerufen werden können. Json-Pfadausdrücke beziehen sich auf eine JSON-Struktur. Das Root-Elementobjekt in Json Path wird als Json-Pfadausdrücke können die Punktnotation wie in |
Im folgenden Beispiel wird der Befehl jsonextract
verwendet, um den Titel des ersten Buches in Json zu suchen:
* | jsonextract field = Store title = '$.store.book[0].title'
Das Beispiellog, aus dem der Wert extrahiert werden muss:
{
"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
}