Gå till huvudinnehåll Gå till ytterligare innehåll

Arbeta med JSON-filer

Ladda data från JSON-filer i Qlik Cloud.

Du kan ladda data från JSON-filer precis som alla andra datafiler som stöds av Qlik Cloud. Mer information finns här Läsa in data från filer.

Du kan ladda data från en JSON-fil i laddningsskriptet med LOAD-kommandot. Exempel:

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

Mer information finns i Load.

LOAD-satser kan filtrera eller omordna fälten genom att lista önskat i fältlistan istället för att använda jokertecknet. Till exempel: LOAD a.b, b.c FROM […] (json);. Icke-existerande fält kommer inte att utlösa ett fel.

Ladda nästlade objekt från JSON

Om ett värde är ett objekt används medlemmarna i det objektet för att utöka tabellen med ytterligare fält. Varje fältnamn är en kombination av överordnat och underordnat fält. Exempelvis innehåller JSON nedan nästlade objekt:


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

Laddning från LOAD * FROM [lib://DataFiles/example.json] (json); resulterar i följande datatabell:

Exempel på nästlad datatabell
name.first name.last
Alice Stephenson
Bob null
null Roberts

Ladda flera tabeller

JSON-data med matriser måste laddas med flera LOAD-satser. Innehållet i matrisen hashas och används som en nyckel för att länka till tabellerna.

Exempelvis har JSON nedan flera tabeller.


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

Detta skulle behöva laddas med följande LOAD-sats:

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

table is-specifikatorn är sökvägen till iteratorn för subtabellen. Detta resulterar i följande datatabell:

Tabell 1
%Key_a %Key_b
<hash of [1,2]> <hash of [3,5]>
<hash of [2,3]> <hash of [4,5]>
Tabell 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
Tabell 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
Anteckning om information

Om dina data innehåller flera matriser med identiskt innehåll, använd nyckelordet DISTINCT i undertabellens LOAD-satser. Till exempel: LOAD DISTINCT * FROM [lib://DataFiles/Sales.json] (json, all tables);

Kika in i matriser

Fältlistan kan användas när du laddar data för att kika in i matriser som annars skulle laddas som undertabeller. Till exempel

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

Detta kan laddas med följande LOAD-sats:

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

Detta resulterar i följande tabell:

x y z
1 2 3
4 5 6

Alla tabeller laddas

Du kan göra en laddning av alla tabeller genom att ange all tables istället för Table is. Exempel:

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

Begränsningar

JSON-filer har följande begränsningar:

  • En enda LOAD-sats från en JSON kan ladda max av följande: 

    • 5 000 fält

    • 1 000 tabeller

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!