Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
JSON_ EXTRACT _ ARRAY _ ELEMENT _ TEXT fungsi
catatan
JSON_ PARSE dan fungsi terkaitnya mengurai JSON nilai sebagaiSUPER, yang diurai Amazon Redshift lebih efisien daripada. VARCHAR
Alih-alih menggunakan JSON _ EXTRACT ARRAY _ ELEMENT _ _TEXT, kami sarankan Anda mengurai JSON string Anda menggunakan JSON_ PARSE fungsi untuk mendapatkan SUPER nilai. Kemudian, kueri elemen yang Anda inginkan menggunakan indeks array, menggunakan value[element position]
sintaks. Untuk informasi lebih lanjut tentang menanyakan elemen array dalam SUPER nilai, buka. Meminta data semi-terstruktur
TEXTFungsi JSON EXTRACT _ ARRAY _ ELEMENT _ mengembalikan elemen JSON array dalam array terluar JSON string, menggunakan indeks berbasis nol. Elemen pertama dalam array berada pada posisi 0. Jika indeks negatif atau keluar dari terikat, JSON _ _ EXTRACT _ ARRAY ELEMENT _ TEXT mengembalikan string kosong. Jika argumen null_if_invalid disetel ke true
dan JSON string tidak valid, fungsi kembali alih-alih mengembalikan kesalahan. NULL
Untuk informasi selengkapnya, lihat JSONfungsi.
Sintaks
JSON_EXTRACT_ARRAY_ELEMENT_TEXT('json string', pos [, null_if_invalid ] )
Argumen
- json_string
-
JSONString yang diformat dengan benar.
- pos
-
Sebuah
INTEGER
mewakili indeks elemen array yang akan dikembalikan, menggunakan indeks array berbasis nol.
- null_if_invalid
-
(Opsional)
BOOLEAN
Nilai yang menentukan apakah akan kembaliNULL
jika JSON string input tidak valid alih-alih mengembalikan kesalahan. Untuk kembaliNULL
jika JSON tidak valid, tentukantrue
()t
. Untuk mengembalikan kesalahan jika tidak JSON valid, tentukanfalse
()f
. Default-nya adalahfalse
.
Jenis pengembalian
VARCHAR
-
Sebuah
VARCHAR
string yang mewakili elemen JSON array direferensikan oleh pos.
Contoh
Untuk mengembalikan elemen array pada posisi 2, yang merupakan elemen ketiga dari indeks array berbasis nol, gunakan contoh berikut.
SELECT JSON_EXTRACT_ARRAY_ELEMENT_TEXT('[111,112,113]', 2);
+---------------------------------+ | json_extract_array_element_text | +---------------------------------+ | 113 | +---------------------------------+
Untuk mengembalikan kesalahan karena JSON tidak valid, gunakan contoh berikut.
SELECT JSON_EXTRACT_ARRAY_ELEMENT_TEXT('["a",["b",1,["c",2,3,null,]]]',1);
ERROR: invalid json array object ["a",["b",1,["c",2,3,null,]]]
Untuk menyetel null_if_invalid ke true, sehingga pernyataan kembali NULL
alih-alih mengembalikan kesalahan untuk tidak valid, gunakan contoh berikut. JSON
SELECT JSON_EXTRACT_ARRAY_ELEMENT_TEXT('["a",["b",1,["c",2,3,null,]]]',1,true);
+---------------------------------+ | json_extract_array_element_text | +---------------------------------+ | NULL | +---------------------------------+