parseJson - Amazon QuickSight

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

parseJson

使用 parseJson 從 JSON 物件擷取值。

如果您的資料集儲存在 QuickSight SPICE 中,您可以在準備資料集時使用 parseJson,但不能在分析期間於計算欄位中使用。

對於直接查詢,您可以同時對資料準備和分析使用 parseJson。如下表所示,取決於方言,parseJson 函數會套用至字串或 JSON 原生資料類型。

方言 Type
PostgreSQL JSON
Amazon Redshift 字串
Microsoft SQL Server 字串
MySQL JSON
Teradata JSON
Oracle 字串
Presto 字串
Snowflake 半結構化的資料類型物件和陣列
Hive 字串

語法

parseJson(fieldName, path)

引數

fieldName

包含您希望剖析的 JSON 物件的欄位。

路徑

您想要從 JSON 物件剖析的資料元素的路徑。有效路徑的語法包括:

  • $:根物件

  • .:子運算子

  • [ ]:陣列的下標運算子

傳回類型

字串

範例

以下範例會評估傳入的 JSON 以擷取項目數量的值。透過使用此資料準備,您可以從 JSON 建立資料表。

parseJson({jsonField}, “$.items.qty”)

以下顯示 JSON。

{ "customer": "John Doe", "items": { "product": "Beer", "qty": 6 }, "list1": [ "val1", "val2" ], "list2": [ { "list21key1": "list1value1" } ] }

針對此範例,會傳回下列值。

6

範例

以下範例會評估 JSONObject1 來擷取標籤為 "State" 的第一個金鑰值組 (KVP),並將值指派到您要建立的評估欄位。

parseJson(JSONObject1, “$.state”)

以下是指定欄位的值。

JSONObject1 ----------- {"State":"New York","Product":"Produce","Date Sold":"1/16/2018","Sales Amount":"$3423.39"} {"State":"North Carolina","Product":"Bakery Products","Date Sold":"2/1/2018","Sales Amount":"$3226.42"} {"State":"Utah","Product":"Water","Date Sold":"4/24/2018","Sales Amount":"$7001.52"}

對於這些欄位值,會傳回以下資料列。

New York North Carolina Utah