本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
parseJson
使用 parseJson
从 JSON 对象提取值。
如果您的数据集存储在 QuickSight SPICE,可以在准备数据集parseJson
时使用,但不能在分析期间在计算字段中使用。
对于直接查询,您可以在数据准备和分析期间使用 parseJson
。parseJson
函数适用于字符串或 JSON 本机数据类型,具体视方言而定(如下表所示)。
方言 | 类型 |
---|---|
PostgreSQL | JSON |
Amazon Redshift | 字符串 |
Microsoft SQL Server | 字符串 |
MySQL | JSON |
Teradata | JSON |
Oracle | 字符串 |
Presto | 字符串 |
Snowflake | 半结构化数据类型对象和数组 |
Hive | 字符串 |
语法
parseJson(
fieldName
,path
)
Arguments
- fieldName
-
包含您要解析的 JSON 对象的字段。
- path
-
要从 JSON 对象中解析的数据元素的路径。有效的路径语法包括:
-
$ – 根对象
-
. – 子运算符
-
[ ] – 数组的下标运算符
-
返回类型
字符串
示例
以下示例评估传入的 JSON 以检索项目数量的值。通过在数据准备期间使用它,您可以从 JSON 创建表。
parseJson({jsonField}, “$.items.qty”)
下面显示了 JSON 内容。
{ "customer": "John Doe", "items": { "product": "Beer", "qty": 6 }, "list1": [ "val1", "val2" ], "list2": [ { "list21key1": "list1value1" } ] }
在本示例中,将返回以下值。
6
示例
以下示例评估 JSONObject1
以提取第一个键值对(KVP)(其标签为 "State"
),并将该值分配给正在创建的计算字段。
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