Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

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:

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

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:

Beispiel für eine verschachtelte 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:

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

Der Spezifizierer table is ist der Pfad zum Iterator für die Untertabelle. Daraus ergeben sich die folgenden Datentabellen:

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

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:

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

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:

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

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

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!