Dalam SQLite, json_array()
function mengembalikan array JSON yang terbentuk dengan baik berdasarkan argumennya.
Fungsi menerima nol atau lebih argumen, dan setiap argumen menjadi elemen dalam larik yang dihasilkan.
Sintaks
json_array(value1,value2,...)
Dimana value1, value2, ...
mewakili elemen larik untuk larik yang dihasilkan.
Contoh
Berikut adalah contoh sederhana untuk ditunjukkan:
SELECT json_array( 9, 7, 12, 11 );
Hasil:
[9,7,12,11]
Menambahkan tanda kutip ke angka menghasilkan elemen larik tersebut menjadi string JSON yang dikutip:
SELECT json_array( 9, '7', 12, 11 );
Hasil:
[9,"7",12,11]
Meneruskan Objek JSON
Melewati argumen dengan tipe SQL TEXT menghasilkan string JSON yang dikutip, dengan label yang dikutip akan diloloskan:
SELECT json_array( '{ "a" : 1 }' );
Hasil:
["{ \"a\" : 1 }"]
Jika kita tidak ingin hal ini terjadi, kita dapat menggunakan json()
berfungsi untuk memberikan nilai sebagai dokumen JSON yang valid:
SELECT json_array( json('{ "a" : 1 }') );
Hasil:
[{"a":1}]
Cara lain untuk melakukannya adalah dengan menggunakan ->
SQL SQLite operator:
SELECT json_array( '{ "a" : 1 }' -> '$' );
Hasil:
[{"a":1}]
Atau, kita dapat menggunakan json_object()
fungsi:
SELECT json_array( json_object( 'a', 1 ) );
Hasil:
[{"a":1}]
Ini dia dengan beberapa elemen array lainnya:
SELECT json_array( "Cat", json_object( 'a', 1 ), "Dog" );
Hasil:
["Cat",{"a":1},"Dog"]
Meneruskan Array JSON
Hal serupa terjadi saat meneruskan array JSON:
SELECT json_array( '[ 9, 4, 7 ]' );
Hasil:
["[ 9, 4, 7 ]"]
Dalam hal ini, kita mendapatkan array JSON yang berisi string yang menyerupai array lain.
Untuk mengembalikan array JSON yang sebenarnya, kita dapat meneruskan argumen kita ke json()
fungsi:
SELECT json_array( json('[ 9, 4, 7 ]') );
Hasil:
[[9,4,7]]
Kita juga bisa menggunakan ->
operator:
SELECT json_array( '[ 9, 4, 7 ]' -> '$' );
Hasil:
[[9,4,7]]
Atau, kita dapat meneruskan nilai ke json_array()
lain :
SELECT json_array( json_array( 9, 4, 7 ) );
Hasil:
[[9,4,7]]
Ini dia dengan beberapa elemen array lainnya:
SELECT json_array( "Cat", json_array( 9, 4, 7 ), "Dog" );
Hasil:
["Cat",[9,4,7],"Dog"]
Buat Array Kosong
Memanggil json_array()
tanpa melewatkan argumen apa pun menghasilkan larik kosong:
SELECT json_array();
Hasil:
[]