すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:JSON_UNQUOTE

最終更新日:Dec 26, 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 バイト

戻り値

引用符が削除された JSON データを STRING 型として返します。次のルールが適用されます:

  • json の値が NULL の場合、この関数は NULL を返します。

  • json データが二重引用符で始まり、二重引用符で終わるものの、有効な JSON 文字列リテラルではない場合、エラーが報告されます。

  • 例 1: JSON_EXTRACT 関数を使用して指定された 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 関数」をご参照ください。