jsonextract

Use o comando jsonextract para obter trechos de um campo existente usando um Caminho Json dos dados do formato JSON. O comando captura o trecho resultante em um campo virtual.

Observação

O comando jsonextract não pode operar no campo Conteúdo do Log Original. O campo padrão, se não for especificado, será Mensagem. O campo extraído tem um tipo de dados string, número ou lista.

jsonextract não se destina a extrair valores de grandes quantidades de texto ou processar um grande número de registros de log. Use o parser do tipo JSON e uma origem de log para esses casos de uso.

Sintaxe

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

Parâmetros

A tabela a seguir lista os parâmetros usados nesse comando, com suas descrições.

Parâmetro Descrição

field_to_parse

Especifique o campo existente que deve ser analisado usando o Caminho Json.

new_field_name

Especifique o campo virtual no qual o trecho do campo existente deve ser capturado.

jsonPath

Especifique o Caminho Json no qual as informações do campo virtual podem ser obtidas.

As expressões de Caminho Json referem-se a uma estrutura JSON. O objeto de membro raiz no Caminho Json é chamado de $, independentemente de ser um objeto ou um array.

As expressões de Caminho Json podem usar a notação de ponto como em $.store.book[0].title ou a notação de colchete como em $['store']['book'][0]['title']. Para obter mais informações sobre o Caminho Json, consulte JsonPath Expressions.

O exemplo a seguir usa o comando jsonextract para localizar o título do primeiro livro no Json:

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

O log de exemplo do qual o valor deve ser extraído:

{
  "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
}