get_json_object:提取JSON字段
速查结论
get_json_object(json_txt, path) 是 Spark SQL 中用于从 JSON 字符串中按路径提取指定字段值的函数。
语法
get_json_object(json_txt, path)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| json_txt | STRING | 有效的 JSON 格式字符串 |
| path | STRING | JSON 路径表达式,以 $ 开头,如 $.a、$.a.b[0] |
示例
> SELECT get_json_object('{"a":"b"}', '$.a');
b
常见报错与避坑指南
- 若 JSON 字符串格式无效,函数返回 NULL 而不是抛出错误,这可能导致数据静默丢失,建议先用
schema_of_json验证格式。 - 路径表达式必须以
$开头表示根节点,缺少$前缀会导致返回 NULL。 - 与
json_tuple相比,get_json_object每次只能提取一个字段,多次调用需重复解析 JSON,批量提取时优先使用json_tuple以获得更好性能。
Since: 1.5.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

💬加群交流
备注「数据仓库技术」加入社群,每日一道大厂SQL真题
