全部產品
Search
文件中心

MaxCompute:TO_JSON

更新時間:Jun 19, 2024

將給定的複雜類型expr,以JSON字串格式輸出。

命令格式

string to_json(<expr>)

參數說明

expr:必填。

說明

如果輸入為STRUCT類型(struct<key1:value1, key2:value2):

  • 轉換為JSON字串時,Key會全部轉為小寫。

  • value如果為NULL,則不輸出value本組的資料。例如value2為NULL,則key2:value2不會輸出到JSON字串。

傳回值說明

返回JSON格式的字串。

使用樣本

  • 樣本1:將指定複雜類型以指定格式輸出。命令樣本如下。

    --返回{"a":1,"b":2}。
    select to_json(named_struct('a', 1, 'b', 2));
    --返回{"time":"26/08/2015"}。
    select to_json(named_struct('time', "26/08/2015"));
    --返回[{"a":1,"b":2}]。
    select to_json(array(named_struct('a', 1, 'b', 2)));
    --返回{"a":{"b":1}}。
    select to_json(map('a', named_struct('b', 1)));
    --返回{"a":1}。
    select to_json(map('a', 1));
    --返回[{"a":1}]。
    select to_json(array((map('a', 1))));
  • 樣本2:輸入為STRUCT類型的特殊情況。命令樣本如下。

    --返回{"a":"B"}。STRUCT類型轉換為JSON字串時,key會全部轉為小寫。
    select to_json(named_struct("A", "B"));
    --返回{"k2":"v2"}。NULL值所在組的資料,不會輸出到JSON字串。
    select to_json(named_struct("k1", cast(null as string), "k2", "v2"));

相關函數

TO_JSON函數屬於複雜類型函數或字串函數。

  • 更多對複雜類型資料(例如ARRAY、MAP、STRUCT、JSON資料)的處理函數請參見複雜類型函數

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