Presto提取json字符串
时间: 2023-09-09 14:13:40 浏览: 350
presto-selecto:快速选择名称匹配或包含给定字符串的类型的所有层
在Presto中,可以使用JSON functions提供的json_extract函数来提取JSON字符串中的数据。json_extract函数的语法如下:
```sql
json_extract(json, json_path)
```
其中,json为要提取数据的JSON字符串,json_path为JSON路径表达式,用于指定要提取的数据。
例如,假设有如下JSON字符串:
```json
{
"id": 1,
"name": "Alice",
"scores": [90, 85, 95],
"address": {
"city": "Beijing",
"street": "Chaoyang Road"
}
}
```
要提取其中的"name"和"street"字段,可以使用以下语句:
```sql
SELECT json_extract(json, '$.name'), json_extract(json, '$.address.street') FROM table_name
```
这个语句会将"name"和"street"字段的值提取出来,结果如下:
```
name | _col1
------+-------------
Alice | Chaoyang Road
```
需要注意的是,json_path表达式需要符合JSONPath语法规范,否则会导致提取失败。同时,如果json_path表达式指定的数据不存在,json_extract函数会返回NULL。
阅读全文