跳到主要内容

get_json_object:提取JSON字段

速查结论

get_json_object(json_txt, path) 是 Spark SQL 中用于从 JSON 字符串中按路径提取指定字段值的函数。

语法

get_json_object(json_txt, path)

参数说明

参数类型说明
json_txtSTRING有效的 JSON 格式字符串
pathSTRINGJSON 路径表达式,以 $ 开头,如 $.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真题

交流微信二维码

你可能还想看