Arbeiten mit JSON-Dateien
Laden Sie Daten aus JSON-Dateien in Qlik Cloud.
Sie können Daten aus JSON-Dateien laden, genau wie aus jeder anderen Datendatei, die von Qlik Cloud unterstützt wird. Weitere Informationen finden Sie unter Laden von Daten aus Dateien.
Sie können Daten aus einer JSON-Datei mit dem Befehl LOAD in das Ladeskript laden. Zum Beispiel:
Weitere Informationen finden Sie unter Load.
Mit load-Anweisungen können die Felder gefiltert oder neu angeordnet werden, indem die gewünschten Felder in der Feldliste aufgeführt werden, anstatt die Wildcard zu verwenden. Hier ein Beispiel: LOAD a.b, b.c FROM […] (json);. Nicht vorhandene Felder lösen keinen Fehler aus.
Laden verschachtelter Objekte aus JSON
Wenn ein Wert ein Objekt ist, werden die Mitglieder dieses Objekts verwendet, um die Tabelle um zusätzliche Felder zu erweitern. Jeder Feldname ist eine Kombination aus über- und untergeordneten Elementen. Beispiel: Die unten gezeigte JSON enthält verschachtelte Objekte:
[
{"name":{"first":"Alice","last":"Stephenson"}},
{"name":{"first":"Bob"}},
{"name":{"last":"Roberts"}}
]
Beim Laden mit LOAD * FROM [lib://DataFiles/example.json] (json); ergibt sich die folgende Datentabelle:
name.first | name.last |
---|---|
Alice | Stephenson |
Bob | null |
null | Roberts |
Laden mehrerer Tabellen
JSON-Daten mit Arrays müssen mit mehreren load-Anweisungen geladen werden. Der Inhalt des Arrays wird gehasht und als Schlüssel zum Verknüpfen der Tabellen verwendet.
Unten finden Sie ein Beispiel einer JSON mit mehreren Tabellen.
[
{"a":[1,2],"b":[3,4]},
{"a":[2,3],"b":[4,5]}
]
Zum Laden muss die folgenden load-Anweisung verwendet werden:
Der Spezifizierer table is ist der Pfad zum Iterator für die Untertabelle. Daraus ergeben sich die folgenden Datentabellen:
%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 |
Wenn Ihre Daten mehrere Arrays mit identischem Inhalt enthalten, verwenden Sie das Schlüsselwort DISTINCT in den load-Anweisungen der Untertabelle. Zum Beispiel: LOAD DISTINCT * FROM [lib://DataFiles/Sales.json] (json, all tables);
Blick in Arrays
Die Feldliste kann beim Laden von Daten verwendet werden, um einen Blick in Arrays zu werfen, die sonst als Untertabellen geladen würden. Zum Beispiel
[
{"pos":[1,2,3]},
{"pos":[4,5,6]}
]
Zum Laden kann die folgenden load-Anweisung verwendet werden:
Daraus ergibt sich die folgende Tabelle.
x | y | z |
---|---|---|
1 | 2 | 3 |
4 | 5 | 6 |
Laden aller Tabellen
Sie können alle Tabellen laden, indem Sie anstelle von Tabelle ist die Option alle Tabellen angeben. Zum Beispiel:
Einschränkungen
JSON-Dateien weisen die folgenden Beschränkungen auf:
-
Mit einer einzigen LOAD-Anweisung aus einer JSON kann maximal Folgendes geladen werden:
-
5.000 Felder
-
1.000 Tabellen
-