このページは機械翻訳したものです。

jsonextract

jsonextractコマンドを使用して、JSON形式データからJsonパスを使用して既存のフィールドの抜粋を取得します。このコマンドは、結果の抜粋を仮想フィールドに取得します。

ノート

jsonextractコマンドは、Original Log Contentフィールドでは実行できません。指定しない場合、デフォルト・フィールドはMessageです。抽出されたフィールドには、stringnumberまたはlistデータ型があります。

jsonextractは、大量のテキストから値を抽出したり、多数のログ・レコードを処理するためのものではありません。このようなユースケースには、JSON型のパーサーとログ・ソースを使用します。

構文

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

パラメータ

次の表に、このコマンドで使用されるパラメータとその説明を示します。

パラメータ 説明

field_to_parse

Jsonパスを使用して解析する必要がある既存のフィールドを指定します。

new_field_name

既存のフィールドの抜粋を取得する必要がある仮想フィールドを指定します。

jsonPath

仮想フィールドの情報を取得できるJsonパスを指定します。

Jsonパス式は、JSON構造を参照します。Jsonパスのルート・メンバー・オブジェクトは、オブジェクトまたは配列のいずれであるかに関係なく、$と呼ばれます。

Jsonパス式は、$.store.book[0].titleのようなドット表記法または$['store']['book'][0]['title']のような大カッコ表記法を使用できます。Jsonパスの詳細は、JsonPath式を参照してください。

次の例では、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
}

この記事は役に立ちましたか。