Early Access: The content on this website is provided for informational purposes only in connection with pre-General Availability Qlik Products.
All content is subject to change and is provided without warranty.
跳到主要內容 跳至補充內容

使用 JSON 檔案

Qlik Cloud 中的 JSON 檔案載入資料。

您可以從 JSON 檔案載入資料,就像 Qlik Cloud 支援的任何其他資料檔案。如需詳細資訊,請參閱 從檔案載入資料

您也可以透過 LOAD 命令在載入指令碼中從 JSON 檔案載入資料。例如︰

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

如需詳細資訊,請參閱 Load

LOAD 陳述式可以在欄位清單中列出所需欄位,而不是使用萬用字元,藉此篩選或重新排序欄位。例如:LOAD a.b, b.c FROM […] (json);。不存在的欄位不會觸發錯誤。

從 JSON 載入巢狀物件

如果值是物件,則該物件的成員用於透過附加欄位延伸表格。每個欄位名稱都是父項和子項的組合。例如,下面的 JSON 包含巢狀物件:


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

透過 LOAD * FROM [lib://DataFiles/example.json] (json); 載入時,這會產生以下資料表格:

巢狀資料表格範例
name.first name.last
Alice Stephenson
Bob null
null Roberts

載入多個表格

必須使用多個 LOAD 陳述式載入具有陣列的 JSON 資料。陣列的內容經過雜湊,並作為連結表格的關鍵使用。

例如,下面的 JSON 有多個表格。


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

這需要使用以下 LOAD 陳述式載入:

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

table is 規範是子表格迭代器的路徑。這會產生以下資料表格:

表格 1
%Key_a %Key_b
<hash of [1,2]> <hash of [3,5]>
<hash of [2,3]> <hash of [4,5]>
表格 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
表格 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
資訊備註

如果您的資料包含多個內容相同的陣列,請在子表格 LOAD 陳述式中使用關鍵字 DISTINCT。例如︰LOAD DISTINCT * FROM [lib://DataFiles/Sales.json] (json, all tables);

預覽陣列

載入資料時可以使用欄位清單來預覽陣列,否則這些陣列會作為子表格載入。例如

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

這可以使用以下 LOAD 陳述式載入:

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

這會產生以下表格。

x y z
1 2 3
4 5 6

載入所有表格

您可以指定所有表格而不是表格是,以載入所有表格。例如︰

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

限制

JSON 檔案有下列限制:

  • JSON 中的單一 LOAD 陳述式最多可以載入下列內容:

    • 5,000 個欄位

    • 1,000 個表格

此頁面是否對您有幫助?

若您發現此頁面或其內容有任何問題——錯字、遺漏步驟或技術錯誤——請告知我們可以如何改善!