Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Fungsi JSON_EXTRACT_PATH_TEXT
Fungsi JSON_EXTRACT_PATH_TEXT mengembalikan nilai untuk pasangan key:value direferensikan oleh serangkaian elemen path dalam string JSON. Jalur JSON dapat bersarang hingga kedalaman lima tingkat. Elemen jalur peka huruf besar/kecil. Jika elemen path tidak ada dalam string JSON, JSON_EXTRACT_PATH_TEXT mengembalikan string kosong. Jika null_if_invalid
argumen diatur ke true
dan string JSON tidak valid, fungsi mengembalikan NULL bukannya mengembalikan kesalahan.
Untuk informasi tentang fungsi JSON tambahan, lihatFungsi JSON.
Sintaksis
json_extract_path_text('json_string', 'path_elem' [,'path_elem'[, …] ] [, null_if_invalid ] )
Pendapat
- json_string
-
String JSON yang diformat dengan benar.
- path_elem
-
Sebuah elemen path dalam string JSON. Satu elemen jalur diperlukan. Elemen jalur tambahan dapat ditentukan, hingga lima tingkat dalam.
- null_if_invalid
-
Nilai Boolean yang menentukan apakah akan mengembalikan NULL jika string input JSON tidak valid alih-alih mengembalikan kesalahan. Untuk mengembalikan NULL jika JSON tidak valid, tentukan ().
true
t
Untuk mengembalikan kesalahan jika JSON tidak valid, tentukanfalse
().f
Defaultnya adalahfalse
.
Dalam string JSON, AWS Clean Rooms mengenali \n
sebagai karakter baris baru dan \t
sebagai karakter tab. Untuk memuat garis miring terbalik, lepaskan dengan garis miring terbalik (). \\
Jenis pengembalian
VARCHAR string mewakili nilai JSON direferensikan oleh elemen jalur.
Contoh
Contoh berikut mengembalikan nilai untuk jalan'f4', 'f6'
.
select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}}','f4', 'f6');
json_extract_path_text ---------------------- star
Contoh berikut mengembalikan kesalahan karena JSON tidak valid.
select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}','f4', 'f6');
An error occurred when executing the SQL command: select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}','f4', 'f6')
Contoh berikut menetapkan null_if_invalid ke true, sehingga pernyataan mengembalikan NULL untuk JSON yang tidak valid alih-alih mengembalikan kesalahan.
select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}','f4', 'f6',true);
json_extract_path_text ------------------------------- NULL
Contoh berikut mengembalikan nilai untuk jalur'farm', 'barn',
'color'
, di mana nilai diambil adalah pada tingkat ketiga. Sampel ini diformat dengan alat lint JSON, agar lebih mudah dibaca.
select json_extract_path_text('{ "farm": { "barn": { "color": "red", "feed stocked": true } } }', 'farm', 'barn', 'color');
json_extract_path_text ---------------------- red
Contoh berikut mengembalikan NULL karena 'color'
elemen hilang. Sampel ini diformat dengan alat lint JSON.
select json_extract_path_text('{ "farm": { "barn": {} } }', 'farm', 'barn', 'color');
json_extract_path_text ---------------------- NULL
Jika JSON valid, mencoba mengekstrak elemen yang hilang mengembalikan NULL.
Contoh berikut mengembalikan nilai untuk jalan'house', 'appliances',
'washing machine', 'brand'
.
select json_extract_path_text('{ "house": { "address": { "street": "123 Any St.", "city": "Any Town", "state": "FL", "zip": "32830" }, "bathroom": { "color": "green", "shower": true }, "appliances": { "washing machine": { "brand": "Any Brand", "color": "beige" }, "dryer": { "brand": "Any Brand", "color": "white" } } } }', 'house', 'appliances', 'washing machine', 'brand');
json_extract_path_text ---------------------- Any Brand