全部产品
Search
文档中心

云原生大数据计算服务 MaxCompute:JSON_TUPLE

更新时间:Aug 03, 2023

用于一个标准的JSON字符串中,按照输入的一组键(key1,key2,...)抽取各个键指定的字符串。

命令格式

string json_tuple(string <json>, string <key1>, string <key2>,...)

参数说明

  • json:必填。STRING类型,标准的JSON格式字符串。

  • key:必填。STRING类型,用于描述在JSON中的path,一次可输入多个,不能以美元符号($)开头。MaxCompute支持用.['']这两种字符解析JSON,当JSON的Key本身包含.时,可以用['']来替代。

返回值说明

返回STRING类型。

说明
  • 如果JSON为空或者为非法的JSON格式,返回NULL。

  • 如果键Key为空或者不合法(JSON中不存在)返回NULL。

  • 如果JSON合法,键Key也存在,则返回对应字符串。

  • 支持包含中文的JSON数据解析。

  • 支持多层嵌套的JSON数据解析。

  • 支持包含多重嵌套的数组的JSON数据解析。

  • 解析行为和设置了set odps.sql.udf.getjsonobj.new=true;后的GET_JSON_OBJECT的行为保持一致。在需要对同一个JSON字符串多次解析的情况下,相比于多次调用GET_JSON_OBJECT,JSON_TUPLE可以一次输入多个Key,且JSON字符串只被解析一次,效率更高。

  • JSON_TUPLE是UDTF,在需要选取其他列时应配合Lateral View使用。

相关函数

JSON_TUPLE函数属于复杂类型函数或字符串函数。

  • 更多对复杂类型数据(例如ARRAY、MAP、STRUCT、JSON数据)的处理函数请参见复杂类型函数

  • 更多查找字符串、转换字符串格式的相关函数请参见字符串函数