Partilhar via


Use JSONPath para transformar dados JSON em pastas de trabalho

As pastas de trabalho podem consultar dados de várias fontes. Alguns pontos de extremidade, como o Azure Resource Manager ou pontos de extremidade personalizados, podem retornar resultados em JSON. Se os dados JSON retornados pelo ponto de extremidade consultado estiverem em um formato que você não deseja, você poderá usar a transformação JSONPath para converter o JSON em uma estrutura de tabela. Em seguida, você pode usar a tabela para plotar visualizações da pasta de trabalho.

JSONPath é uma linguagem de consulta para JSON semelhante ao XPath para XML. Como XPath, JSONPath permite a extração e filtragem de dados fora da estrutura JSON.

Usar JSONPath

Neste exemplo, o objeto JSON representa o inventário de um armazenamento. Vamos criar uma tabela com os livros disponíveis da loja listando seus títulos, autores e preços.

  1. Mude a pasta de trabalho para o modo de edição selecionando Editar.

  2. Use o link Adicionar>consulta para adicionar um controle de consulta à pasta de trabalho.

  3. Selecione a fonte de dados como JSON.

  4. Use o editor JSON para inserir o seguinte trecho JSON:

    { "store": {
        "books": [ 
          { "category": "reference",
            "author": "Nigel Rees",
            "title": "Sayings of the Century",
            "price": 8.95
          },
          { "category": "fiction",
            "author": "Evelyn Waugh",
            "title": "Sword of Honour",
            "price": 12.99
          },
          { "category": "fiction",
            "author": "Herman Melville",
            "title": "Moby Dick",
            "isbn": "0-553-21311-3",
            "price": 8.99
          },
          { "category": "fiction",
            "author": "J. R. R. Tolkien",
            "title": "The Lord of the Rings",
            "isbn": "0-395-19395-8",
            "price": 22.99
          }
        ],
        "bicycle": {
          "color": "red",
          "price": 19.95
        }
      }
    }
    
  5. Selecione a guia Configurações de resultado e alterne o formato do resultado para Caminho JSON.

  6. Aplique as seguintes configurações de caminho JSON:

    • Tabela de caminhos JSON: $.store.books. Este campo representa o caminho da raiz da tabela. Neste caso, preocupamo-nos com o inventário de livros da loja. O caminho da tabela filtra o JSON para as informações do livro.

      IDs de coluna Caminhos JSON de coluna
      Título $.title
      Autor $.author
      Preço $.price

    IDs de coluna são os cabeçalhos de coluna. Os campos de caminhos JSON de coluna representam o caminho da raiz da tabela para o valor da coluna.

  7. Selecione Executar consulta.

    Captura de tela que mostra a edição de um item de consulta com fonte de dados JSON e formato de resultado de caminho JSON.

Usar expressões regulares para converter valores

Você pode ter alguns dados que não estão em um formato padrão. Para usar esses dados de forma eficaz, convém convertê-los em um formato padrão.

Neste exemplo, a data publicada está no formato AAAMMDD. O código interpreta esse valor como um valor numérico, não texto, resultando em números justificados à direita, em vez de como uma data.

Você pode usar os campos Tipo, RegEx Match e Substituir por nas configurações de resultado para converter o resultado em datas verdadeiras.

Campo de definição de resultados Description
Type Permite alterar explicitamente o tipo do valor retornado pela API. Este campo geralmente não foi definido, mas você pode usar esse campo para forçar o valor para um tipo diferente.
Correspondência de Regex Permite inserir uma expressão regular para fazer parte (ou partes) do valor retornado pela API em vez do valor inteiro. Este campo é geralmente combinado com o campo Substituir por .
Substituir Por Use este campo para criar o novo valor junto com a expressão regular. Se esse valor estiver vazio, o padrão será $&, que é o resultado correspondente da expressão. Consulte a documentação string.replace para ver outros valores que você pode usar para gerar outras saídas.

Para converter o formato AAAMMDD para o formato AAAA-MM-DD:

  1. Selecione a linha Publicado na grade.

  2. No campo Tipo, selecione Data/Hora para que a coluna possa ser usada em gráficos.

  3. No campo Regex Match, use esta expressão regular: ([0-9]{4})([0-9]{2})([0-9]{2}). Esta expressão regular:

    • corresponde a um número de quatro dígitos, depois a um número de dois dígitos e, em seguida, a outro número de dois dígitos.
    • Os parênteses formam grupos de captura para usar na próxima etapa.
  4. Em Substituir por, use esta expressão regular: $1-$2-$3. Esta expressão cria uma nova cadeia de caracteres com cada grupo capturado, com um hífen entre eles, transformando "12345678" em "1234-56-78").

  5. Execute a consulta novamente.

    Captura de tela que mostra JSONpath convertido para o formato de data e hora.

Próximos passos