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:
[]