用於一個標準的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函數屬於複雜類型函數或字串函數。