全部產品
Search
文件中心

MaxCompute:JSON_TUPLE

更新時間:Jun 19, 2024

用於一個標準的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資料)的處理函數請參見複雜類型函數

  • 更多尋找字串、轉換字串格式的相關函數請參見字串函數