SQLite json_type()
function mengembalikan tipe elemen terluar dari JSON yang diberikan.
Kami menyediakan JSON sebagai argumen saat kami memanggil fungsi.
Secara opsional, kita dapat melewati jalur, yang memungkinkan kita mendapatkan tipe elemen larik atau anggota objek tertentu di dalam JSON.
Sintaks
Kita dapat menggunakan fungsi dengan cara berikut:
json_type(X)
json_type(X,P)
Dimana X
mewakili JSON, dan P
adalah argumen opsional yang mewakili jalur untuk mendapatkan tipe.
Fungsi menampilkan salah satu nilai teks SQL berikut: null
, true
, false
, integer
, real
, text
, array
, atau object
.
Contoh
Berikut ini contoh untuk mendemonstrasikan cara kerjanya:
SELECT json_type('{ "name" : "Fluffy", "age" : 10 }');
Hasil:
objek
Di sini saya hanya menyediakan JSON – saya tidak memberikan jalan. Dalam hal ini, JSON terluar adalah objek.
Berikut arraynya:
SELECT json_type('[ 1, 2, 3 ]');
Hasil:
array
Kami bahkan dapat melakukan hal-hal seperti ini:
SELECT json_type(10.45);
Hasil:
nyata
Dalam hal ini, argumen saya sebenarnya bukan objek atau larik JSON, tetapi json_type()
tetap bisa mengembalikan tipenya.
Tentukan Jalur
Inilah yang terjadi saat kita menentukan jalur:
SELECT json_type('{ "name" : "Fluffy", "age" : 10 }', '$.age');
Hasil:
bilangan bulat
Dalam hal ini, saya menentukan jalur $.age
, yang menghasilkan jenis age
anggota dikembalikan.
Mari kita dapatkan jenis name
anggota:
SELECT json_type('{ "name" : "Fluffy", "age" : 10 }', '$.name');
Hasil:
teks
Mari kita lakukan pada sebuah array:
SELECT json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[0]');
Hasil:
teks
Itu mendapat jenis elemen pertama (array SQLite berbasis nol, jadi 0
adalah untuk elemen pertama).
Mari kita dapatkan tipe semua elemen dalam array:
SELECT
json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[0]') AS "0",
json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[1]') AS "1",
json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[2]') AS "2",
json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[3]') AS "3",
json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[4]') AS "4",
json_type('[ "Wag", 2, 1.5, null, true, false ]', '$[5]') AS "5";
Hasil:
+------+--------+------+------+------+-------+ | 0 | 1 | 2 | 3 | 4 | 5 |+------+--------+------+------+------+-------+| teks | bilangan bulat | nyata | nol | benar | palsu |+------+-----+------+------+------+-------+