parseJson - Amazon Quick Suite

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

parseJson

使用 parseJson 从 JSON 对象提取值。

如果您的数据集存储在 Quick Suite 中SPICE,则可以在准备数据集parseJson时使用,但在分析期间不能在计算字段中使用。

对于直接查询,您可以在数据准备和分析期间使用 parseJsonparseJson 函数适用于字符串或 JSON 本机数据类型,具体视方言而定(如下表所示)。

Dialect Type
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