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:
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:
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:
table is-specifikatorn är sökvägen till iteratorn för subtabellen. Detta resulterar i följande datatabell:
%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 |
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:
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:
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
-