Ir para conteúdo principal Pular para conteúdo complementar

Trabalhando com arquivos JSON

Carregar dados de arquivos JSON no Qlik Cloud.

Você pode carregar dados de arquivos JSON como qualquer outro arquivo de dados aceito pelo Qlik Cloud. Para obter mais informações, consulte Carregando dados de arquivos.

Você pode carregar dados de um arquivo JSON no script de carregamento com o comando LOAD. Por exemplo:

LOAD * from [lib://DataFiles/xyz.json] (json);

Para obter mais informações, consulte Load.

As instruções de LOAD podem filtrar ou reordenar os campos listando os campos desejados na lista de campos em vez de usar o curinga. Por exemplo: LOAD a.b, b.c FROM […] (json);. Campos inexistentes não causarão um erro.

Carregando objetos aninhados do JSON

Se um valor for um objeto, os membros desse objeto serão usados para estender a tabela com campos adicionais. Cada nome de campo é uma combinação do pai e do filho. Por exemplo, o JSON abaixo contém objetos aninhados:


[
	{"name":{"first":"Alice","last":"Stephenson"}},
	{"name":{"first":"Bob"}},
	{"name":{"last":"Roberts"}}
]

Quando carregado com LOAD * FROM [lib://DataFiles/example.json] (json);, isso resulta na tabela de dados a seguir:

Exemplo de tabela de dados aninhada
name.first name.last
Alice Stephenson
Bob nulo
nulo Roberts

Carregando várias tabelas

Dados JSON com matrizes devem ser carregados usando várias instruções de LOAD. O conteúdo da matriz é criptografado e usado como uma chave para vincular as tabelas.

Por exemplo, o JSON abaixo tem várias tabelas.


[
	{"a":[1,2],"b":[3,4]},
	{"a":[2,3],"b":[4,5]}
]

Isso precisaria ser carregado com a instrução de LOAD a seguir:

LOAD * FROM [...] (json); LOAD * FROM [...] (json, table is [/*/a]); LOAD * FROM [...] (json, table is [/*/b]);

O especificador table is é o caminho para o iterador da sub-tabela. Isso resulta nas tabelas de dados a seguir:

Tabela 1
%Key_a %Key_b
<hash of [1,2]> <hash of [3,5]>
<hash of [2,3]> <hash of [4,5]>
Tabela 2
%Key_a a..@1
<hash of [1,2]> 1
<hash of [1,2]> 2
<hash of [2,3]> 2
<hash of [2,3]> 3
Tabela 3
%Key_b b..@1
<hash of [3,5]> 3
<hash of [3,5]> 4
<hash of [4,5]> 4
<hash of [4,5]> 5
Nota informativa

Se seus dados contiverem várias matrizes com conteúdo idêntico, use a palavra-chave DISTINCT nas instruções de LOAD da sub-tabela. Por exemplo: LOAD DISTINCT * FROM [lib://DataFiles/Sales.json] (json, all tables);

Dando uma olhada em matrizes

A lista de campos pode ser usada ao carregar dados para dar uma olhada em matrizes que, de outra forma, seriam carregadas como sub-tabelas. Por exemplo

[
	{"pos":[1,2,3]},
	{"pos":[4,5,6]}
]

Isso pode ser carregado com a instrução de LOAD a seguir:

LOAD pos.0 AS x, pos.1 AS y, pos.2 AS z FROM […] (json);.

Isso resulta na tabela a seguir.

x y z
1 2 3
4 5 6

Carregando todas as tabelas

Você pode fazer um carregamento de todas as tabelas especificando all tables em vez de Table is. Por exemplo:

LOAD * FROM [lib://DataFiles/Sales.json] (json, all tables);

Limitações

Os arquivos JSON têm as seguintes limitações:

  • Uma única instrução de LOAD de um JSON pode carregar no máximo o seguinte: 

    • 5.000 campos

    • 1.000 tabelas

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!