Pular para o conteúdo

Lê uma coluna que contém texto JSON e expande-a em linhas de saída — uma por cada valor encontrado no documento. É o complemento do passo Table XML Parse e o equivalente no PlaidCloud da ferramenta JSON Parse do Alteryx.

Utilize-o quando um sistema a montante lhe entrega um payload JSON numa única coluna e precisa do respetivo conteúdo como linhas e colunas normais.

JSON aninhado{“id”: 1,“user”: { “name”:“Ann” },“tags”: [“a”,“b”]}analisarcolunas planasiduser.nametags1Anna, b
O passo Table JSON Parse converte JSON aninhado em colunas — os objetos aninhados passam a caminhos com pontos (user.name) e as matrizes são expandidas, para que os passos seguintes trabalhem com linhas e colunas simples.

A coluna que contém o texto JSON a analisar.

  • Apenas nome e valor (predefinição) — cada linha de saída contém JSON_Name e JSON_ValueString. É a opção mais simples e basta quando tudo a jusante trata os valores como texto.
  • Valores com tipo — desative a opção de campo único para acrescentar, ao lado, as colunas de valor específicas de cada tipo, de modo que números e booleanos cheguem como números e booleanos em vez de cadeias de texto.

Desativado por predefinição. Ative-o para repetir as restantes colunas do registo de entrada em cada linha de valor, de modo que os valores analisados continuem associados ao registo de onde vieram, sem um passo de junção separado.

Saída (json_layout) escolhe uma forma de saída diferente. Cada uma mantém uma linha por linha de entrada:

  • Largo: uma coluna por caminho de chave (wide) — as colunas de entrada, menos o campo JSON a não ser que seja incluído, mais uma coluna de texto por caminho de chave com pontos, NULL quando um documento não o tem.
  • Uma coluna por consulta JSONPath (paths) — as colunas de entrada mais uma coluna por consulta JSONPath. Indique as consultas em Consultas JSONPath (json_paths), cada uma com uma definição de Coluna, JSONPath, Tipo e Várias correspondências (target, path, dtype, multi): path é um JSONPath (nomes, índices, carateres universais, pesquisa profunda, fatias, uniões e filtros), dtype é text, integer, bigint, double, boolean ou json, e multi fica vazio para a primeira correspondência (NULL quando não existe nenhuma), list para todas as correspondências como valor de lista, ou paths para os caminhos que correspondem. Em vez da lista, Consultas de uma tabela (json_dictionary) lê as consultas das linhas de uma tabela: {source, path, type, output} indicam a tabela e as respetivas colunas com cada caminho, tipo e nome de coluna de saída.
  • Colunas como o KNIME JSON to Table as cria (table) — as colunas de entrada mais as colunas que o nó JSON to Table do KNIME cria a partir dos documentos. As opções de JSON para tabela (json_table) definem-no, começando por Nomear as colunas pelo caminho JSON (paths), Separador de caminho (separator, predefinição .) para unir os segmentos do caminho, Matrizes (arrays) como GenerateCollectionCells, GenerateColumns ou KeepAllArrayAsJsonArray, Níveis a expandir (levels, 0 para todos) e Omitir os objetos que foram expandidos (omit_objects, predefinição true) para excluir os valores de objeto.

Com o esquema JSONPath ou JSON para tabela, ative Omitir o campo JSON da saída (json_remove_source) para retirar o campo JSON do resultado.