jsonextract
jsonextract
コマンドを使用して、JSON形式データからJSONパスを使用して既存のフィールドの抜粋を取得します。このコマンドは、結果の抜粋を仮想フィールドに取得します。
jsonextract
コマンドは、「元のログ・コンテンツ」フィールドでは操作できません。指定しない場合、デフォルト・フィールドはMessageです。抽出されたフィールドには、string、numberまたはlistデータ型があります。
jsonextract
は、大量のテキストから値を抽出したり、多数のログ・レコードを処理するためのものではありません。このようなユースケースには、JSONタイプ・パーサーおよびログ・ソースを使用します。
構文
jsonextract field = <field_to_parse> <new_field_name> = <jsonPath>
パラメータ
次の表に、このコマンドで使用されるパラメータとその説明を示します。
パラメータ | 説明 |
---|---|
|
Jsonパスを使用して解析する必要がある既存のフィールドを指定します。 |
|
既存のフィールドの抜粋を取得する必要がある仮想フィールドを指定します。 |
|
仮想フィールドの情報を取得できるJsonパスを指定します。 JSONパス式はJSON構造を参照します。Jsonパスのルート・メンバー・オブジェクトは、オブジェクトか配列かに関係なく、 Jsonパス式では、 |
次の例では、jsonextract
コマンドを使用してJsonの最初のブックのタイトルを検索します。
* | jsonextract field = Store title = '$.store.book[0].title'
値の抽出元のログの例:
{
"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
}