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

Arbeta med JSON-filer

Ladda data från JSON-filer i Qlik Sense Enterprise on Windows.

Du kan ladda data från JSON-filer precis som alla andra datafiler som stöds av Qlik Sense. 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 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://AttachedFiles/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 informationOm dina data innehåller flera matriser med identiskt innehåll, använd nyckelordet DISTINCT i undertabellens LOAD-satser. Till exempel: LOAD DISTINCT * FROM [lib://AttachedFiles/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://AttachedFiles/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 stöter på några problem med den här sidan eller innehållet på den, t.ex. ett stavfel, ett saknat steg eller ett tekniskt fel – meddela oss!