You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark的get_json_object函数中$符号的含义是什么?

关于get_json_object函数路径中$符号的说明

这个$并不是Spark自定义的语法,而是JSONPath表达式的标准根节点标识,get_json_object函数的第二个参数本身就要求传入符合JSONPath规范的查询字符串,规则如下:

  • $ 代表你传入的整个JSON对象/JSON数组的根节点,是所有JSON属性查询的固定起点
  • 后续跟的.属性名是子级属性访问符,$.path.to.data的含义就是:从JSON根节点开始,依次访问下级属性path、path的下级属性to、to的下级属性data,最终返回该属性对应的取值

举个实际场景示例,如果你的jsonColumn字段存储的JSON内容如下:

{
  "path": {
    "to": {
      "data": "示例取值"
    }
  }
}

执行get_json_object(col("jsonColumn"), "$.path.to.data")得到的返回结果就是示例取值。

额外补充相关语法细节:

  • 如果要访问JSON数组的指定下标元素,可使用$.数组属性名[下标]的写法,比如$.userList[0]代表取根节点下userList数组的第一个元素
  • 如果属性名包含特殊字符、空格,需要用方括号加单引号包裹属性名,比如$.'user info'

内容的提问来源于stack exchange,提问作者Ivan Feliciano Avelino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 14:06:03