get_json_object用法
时间: 2023-09-07 16:15:16 浏览: 157
GET_JSON_OBJECT 是一个 SQL 函数,用于从 JSON 值中提取一个 JSON 对象或数组的子项。其基本语法为:
```
GET_JSON_OBJECT(json_string, json_path)
```
其中,`json_string` 是要提取子项的 JSON 字符串,`json_path` 是要获取的子项的 JSON 路径,可以是一个字符串或者一个表达式。
例如,给定以下 JSON 字符串:
```
{
"name": "张三",
"age": 30,
"address": {
"city": "北京",
"district": "朝阳区"
},
"hobbies": ["篮球", "游泳", "音乐"]
}
```
可以使用 GET_JSON_OBJECT 函数来获取其中的子项,例如:
```
-- 获取 name 字段
SELECT GET_JSON_OBJECT(json_string, '$.name') AS name FROM my_table;
-- 获取 address 字段中的 city 字段
SELECT GET_JSON_OBJECT(json_string, '$.address.city') AS city FROM my_table;
-- 获取 hobbies 字段中的第一个元素
SELECT GET_JSON_OBJECT(json_string, '$.hobbies[0]') AS hobby FROM my_table;
```
注意,如果 JSON 字符串格式不正确或者 JSON 路径不合法,GET_JSON_OBJECT 函数会返回 NULL。此外,GET_JSON_OBJECT 函数只能在 Hive 中使用。
阅读全文