JSON_TUPLE 函数
功能描述
JSON_TUPLE 函数用于解析 JSON 字符串中的键值对,并将指定的键对应的值提取出来。该函数接受一个 JSON 字符串作为输入,并根据提供的键列表(c1、c2、...、cN)提取相应的值。如果 JSON 字符串解析失败,函数将返回全列为 NULL 的结果;如果某个键不存在于 JSON 对象中,对应的列将被填充为 NULL。需要注意的是,JSON_TUPLE 函数只能解析 JSON 对象的顶层键。
该函数可以直接使用,或者与 LATERAL VIEW 子句结合使用,以便在更复杂的查询中提取 JSON 数据。
参数说明
str(string): 需要解析的JSON字符串,该字符串应为一个JSON对象。c1,c2, ...cN(string): 需要提取的JSON对象中的键。
返回类型
- 返回一个包含提取值的字符串数组,数量与提供的键列表长度相同。
使用示例
示例 1:基本用法
上述查询尝试提取键 x 和 z 的值。由于 z 键不存在,返回结果中 z 对应的值为空。
示例 2:与 LATERAL VIEW 结合使用
在这个例子中,我们首先创建了一个包含 JSON 字符串的表,然后使用 LATERAL VIEW 和 json_tuple 函数提取 a、b 和 c 键的值。由于 c 键不存在,其对应的值为空。
联系我们
