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:
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:
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:
O especificador table is é o caminho para o iterador da sub-tabela. Isso resulta nas tabelas de dados a seguir:
%Key_a | %Key_b |
---|---|
<hash of [1,2]> | <hash of [3,5]> |
<hash of [2,3]> | <hash of [4,5]> |
%Key_a | a..@1 |
---|---|
<hash of [1,2]> | 1 |
<hash of [1,2]> | 2 |
<hash of [2,3]> | 2 |
<hash of [2,3]> | 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 |
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:
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:
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
-