SQLite
 sql >> Teknologi Basis Data >  >> RDS >> SQLite

SQLite JSON_ARRAY()

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:

[]

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Berapa batas variabel SQL yang dapat ditentukan dalam satu kueri execSQL?

  2. SQLite SUBSTRING() Dijelaskan

  3. android.database.sqlite.SQLiteCantOpenDatabaseException:kesalahan tidak diketahui (kode 14):Tidak dapat membuka database

  4. Mendapatkan kolom dari .sqlite yang berisi banyak tabel dengan banyak kolom

  5. Apakah praktik yang baik menggunakan ContentProvider untuk menangani operasi basis data?