Fungsi JSON_EXTRACT_PATH_TEXT - AWS Clean Rooms

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, tentukan false (). f Defaultnya adalah false.

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