將給定的複雜類型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函數屬於複雜類型函數或字串函數。