# Utilizzo dei file JSON

Caricamento dei da file JSON in Qlik Sense Enterprise on Windows.

È possibile caricare i dati dai file JSON come qualsiasi altro file di dati supportato da Qlik Sense. Per ulteriori informazioni, vedere [Caricamento di dati da file](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/DataSource/load-data-from-files.htm).

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

```
LOAD  * from xyz.json (json);
```

Per ulteriori informazioni, vedere [Load](https://help.qlik.com/it-IT/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm).

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://AttachedFiles/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 | %Chiave\_b |
| --- | --- |
| &lt;hash di [1,2]&gt; | &lt;hash di [3,5]&gt; |
| &lt;hash di [2,3]&gt; | &lt;hash di [4,5]&gt; |

Tabella 2

| %Key\_a | a..@1 |
| --- | --- |
| &lt;hash di [1,2]&gt; | 1 |
| &lt;hash di [1,2]&gt; | 2 |
| &lt;hash di [2,3]&gt; | 2 |
| &lt;hash di [2,3]&gt; | 3 |

Tabella 3

| %Key\_b | b..@1 |
| --- | --- |
| &lt;hash di [3,5]&gt; | 3 |
| &lt;hash di [3,5]&gt; | 4 |
| &lt;hash of [4,5]&gt; | 4 |
| &lt;hash of [4,5]&gt; | 5 |

Nota informaticaSe 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://AttachedFiles/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://AttachedFiles/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