Vai al contenuto principale Passa a contenuto complementare

Utilizzo dei file JSON

Caricamento dei da file JSON in Qlik Cloud.

È possibile caricare i dati dai file JSON come qualsiasi altro file di dati supportato da Qlik Cloud. Per ulteriori informazioni, vedere Caricamento di dati da file.

È inoltre possibile caricare i dati da un file JSON nello script di caricamento con il comando LOAD. Ad esempio:

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

Per ulteriori informazioni, vedere Load.

Le istruzioni LOAD possono filtrare o riordinare i campi elencando quelli desiderati nell'elenco dei campi anziché usare il carattere jolly. Ad esempio: LOAD a.b, b.c FROM […] (json);. I campi non esistenti non generano errori.

Caricamento di oggetti annidati da JSON

Se un valore è un oggetto, i membri di tale oggetto vengono utilizzati per estendere la tabella con campi aggiuntivi. Ogni nome di campo è una combinazione di padre e figlio. Ad esempio, il file JSON sottostante contiene oggetti annidati:


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

Quando si effettua il caricamento con LOAD * FROM [lib://DataFiles/example.json] (json);, il risultato è la seguente tabella di dati:

Esempio di tabella dati annidata
name.first name.last
Alice Stephenson
Bob null
null Roberts

Caricamento di tabelle multiple

I dati JSON con matrici devono essere caricati utilizzando più istruzioni LOAD. Il contenuto della matrice viene sottoposto a hash e utilizzato come chiave per collegare le tabelle.

Ad esempio, il file JSON riportato di seguito dispone di più tabelle.


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

Per caricarlo, è necessario utilizzare la seguente istruzione LOAD:

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

L'identificatore table is è il percorso dell'iteratore per la sottotabella. Il risultato sono le seguenti tabelle di dati:

Tabella 1
%Key_a %Key_b
<hash of [1,2]> <hash of [3,5]>
<hash of [2,3]> <hash of [4,5]>
Tabella 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
Tabella 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 informatica

Se i dati contengono più matrici con contenuto identico, utilizzare la parola chiave DISTINCT nelle istruzioni di caricamento nella sottotabella. Ad esempio: LOAD DISTINCT * FROM [lib://DataFiles/Sales.json] (json, all tables);

Visualizzazione delle matrici

L'elenco dei campi può essere utilizzato quando si caricano i dati per visualizzare le matrici che, in caso contrario, verrebbero caricate come sottotabelle. Per esempio

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

Per completare il caricamento, è necessario utilizzare la seguente istruzione LOAD:

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

Il risultato è la seguente tabella.

x y z
1 2 3
4 5 6

Caricamento di tutte le tabelle

È possibile completare il caricamento di tutte le tabelle specificando tutte le tabelle anziché Table is. Ad esempio:

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

Limitazioni

I file JSON hanno le seguenti limitazioni:

  • Una singola istruzione LOAD da un file JSON può caricare al massimo i seguenti elementi:  

    • 5.000 campi

    • 1.000 tabelle

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – facci sapere come possiamo migliorare!