Fungsi JSON_UNQUOTE menghapus tanda kutip dari data JSON.
Sintaksis
STRING JSON_UNQUOTE(JSON <json>)
-- Contoh standar.
-- Mengembalikan 123.
SELECT JSON_UNQUOTE(JSON "123");Parameter
json: Wajib. Data JSON yang akan di-unquote. Tipe datanya adalah JSON.
Catatan: Fungsi ini mengenali urutan escape berikut dalam data json. Semua urutan escape lainnya menyebabkan error parsing JSON.
Escape sequence | Karakter yang direpresentasikan oleh urutan tersebut |
" | Tanda kutip ganda " |
\b | Karakter backspace |
\f | Form feed |
\n | Line feed |
\r | Carriage return |
\t | Karakter tab |
\ | Backslash \ |
\uxxxx | Byte UTF-8 untuk nilai Unicode XXXX |
Nilai kembalian
Mengembalikan data JSON yang telah di-unquote sebagai STRING. Aturan berikut berlaku:
Jika nilai json adalah NULL, fungsi mengembalikan NULL.
Jika data json diawali dan diakhiri dengan tanda kutip ganda tetapi bukan literal string JSON yang valid, maka error dilaporkan.
Contoh
Contoh 1: Gunakan fungsi JSON_EXTRACT untuk mengambil data dari path JSON tertentu, lalu gunakan fungsi JSON_UNQUOTE untuk menghapus tanda kutip ganda dari hasilnya.
-- Mengembalikan New York. SELECT JSON_UNQUOTE(JSON_EXTRACT(json '{"name": "John", "age": 25, "city": "New York"}','$.city'));Contoh 2: Unquote string JSON yang berisi urutan escape.
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 | +-----+ | Ω | +-----+
Fungsi terkait
JSON_UNQUOTE adalah fungsi JSON. Untuk informasi selengkapnya tentang fungsi JSON, lihat JSON functions.