全部產品
Search
文件中心

MaxCompute:JSON_UNQUOTE

更新時間:Dec 25, 2025

JSON_UNQUOTE函數用於去掉JSON資料中的引號。

命令格式

STRING JSON_UNQUOTE(JSON <json>)

-- 標準樣本。
-- 返回123。
SELECT JSON_UNQUOTE(JSON "123");

參數說明

json:必填。待去除引號的JSON資料。JSON類型。

注意:在json資料中包含的如下逸出序列將被識別,對於所有其他逸出序列,會導致JSON解析失敗。

逸出序列

序列表示的字元

"

雙引號 "

\b

退格字元

\f

換頁符

\n

分行符號

\r

斷行符號符

\t

定位字元

\

反斜線 \

\uxxxx

Unicode 值 XXXX 的 UTF-8 位元組

傳回值說明

返回STRING類型不帶引號的JSON資料。返回規則如下:

  • json值為NULL,返回 NULL。

  • json資料以雙引號開始和結束,但不是有效JSON字串字面量,返回報錯。

使用樣本

  • 樣本1:使用JSON_EXTRACT函數提取JSON資料中指定JSON路徑下的資料,然後使用JSON_UNQUOTE函數去除結果中的雙引號。

    -- 返回New York。
    SELECT JSON_UNQUOTE(JSON_EXTRACT(json '{"name": "John", "age": 25, "city": "New York"}','$.city'));
  • 樣本2:識別JSON資料中包含的逸出序列,並去除結果中的雙引號。

    SELECT JSON_UNQUOTE(json "123");
    +-----+
    | _c0 |
    +-----+
    | 123 |
    +-----+
    
    SELECT JSON_UNQUOTE(JSON '"te\\rst"');
    -- +-----+
    | _c0 |
    +-----+
    | te
    st |
    +-----+
    
    SELECT JSON_UNQUOTE(JSON '"\\ttest"');
    -- +-----+
    | _c0 |
    +-----+
    |       test |
    +-----+
    
    SELECT JSON_UNQUOTE(JSON '"te\\nst"');
    -- +-----+
    | _c0 |
    +-----+
    | te
    st |
    +-----+
    
    SELECT JSON_UNQUOTE(JSON '"te\\bst"');
    -- +-----+
    | _c0 |
    +-----+
    | tst |
    +-----+
    
    SELECT JSON_UNQUOTE(JSON '"\\u03A9"');
    +-----+
    | _c0 |
    +-----+
    | Ω  |
    +-----+
    

相關函數

JSON_UNQUOTE函數屬於JSON函數,更多JSON類型函數請參見JSON函數