Werken met JSON-bestanden
Gegevens worden geladen uit JSON-bestanden in Qlik Cloud.
U kunt gegevens laden vanuit JSON‑bestanden net als andere gegevensbestanden die door Qlik Cloud worden ondersteund. Ga voor meer informatie naar Gegevens uit bestanden laden.
U kunt gegevens laden vanuit een JSON-bestand in het load-script met de opdracht LOAD. Bijvoorbeeld:
Ga voor meer informatie naar Load.
Load-instructies kunnen de velden filteren of opnieuw ordenen door de gewenste velden in de lijst op te nemen in plaats van het jokerteken te gebruiken. Bijvoorbeeld: LOAD a.b, b.c FROM […] (json);. Niet-bestaande velden veroorzaken geen fout.
Geneste objecten laden vanuit JSON
Als een waarde een object is, dan worden de leden van dat object gebruikt om de tabel uit te breiden met extra velden. Elke veldnaam is een combinatie van het bovenliggende en onderliggende item. Onderstaande JSON bevat bijvoorbeeld geneste objecten:
[
{"name":{"first":"Alice","last":"Stephenson"}},
{"name":{"first":"Bob"}},
{"name":{"last":"Roberts"}}
]
Als deze wordt geladen met LOAD * FROM [lib://DataFiles/example.json] (json);, resulteert dit in de volgende tabel met gegevens:
name.first | name.last |
---|---|
Alice | Stephenson |
Bob | null |
null | Roberts |
Meerdere tabellen laden
JSON-gegevens met matrices moeten worden geladen met behulp van meerdere load-instructies. De inhoud van de matrix wordt gehasht en gebruikt als sleutel om de tabellen te koppelen.
Onderstaande JSON heeft bijvoorbeeld meerdere tabellen.
[
{"a":[1,2],"b":[3,4]},
{"a":[2,3],"b":[4,5]}
]
Dit moet worden geladen door de volgende load-instructie:
De specificatie table is is het pad naar de iterator voor de subtabel. Dit resulteert in de volgende tabellen met gegevens:
%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 |
Als uw gegevens meerdere matrices met identieke inhoud bevatten, gebruik dan het trefwoord DISTINCT in de load-instructies voor subtabellen. Bijvoorbeeld: LOAD DISTINCT * FROM [lib://DataFiles/Sales.json] (json, all tables);
Weergeven in matrices
De lijst met velden kan worden gebruikt bij het laden van gegevens om peek uit te voeren in matrices die anders als subtabellen zouden worden geladen. Voorbeeld
[
{"pos":[1,2,3]},
{"pos":[4,5,6]}
]
Dit kan worden geladen door de volgende load-instructie:
Dit resulteert in de volgende tabel:
x | y | z |
---|---|---|
1 | 2 | 3 |
4 | 5 | 6 |
Alle tabellen laden
U kunt een lading maken van alle tabellen door alle tabellen op te geven in plaats van Tabel is. Bijvoorbeeld:
Beperkingen
JSON-bestanden hebben de volgende beperkingen:
-
Eén enkele LOAD‑instructie van een JSON kan een maximum van het volgende laden:
-
5.000 velden
-
1.000 tabellen
-