В SQLite, json_array() функцията връща добре оформен JSON масив въз основа на неговите аргументи.
Функцията приема нула или повече аргументи и всеки аргумент става елемент в получения масив.
Синтаксис
json_array(value1,value2,...)
Където value1, value2, ... представлява елементите на масива за получения масив.
Пример
Ето един прост пример за демонстрация:
SELECT json_array( 9, 7, 12, 11 ); Резултат:
[9,7,12,11]
Добавянето на кавички към число води до това, че елементът на масива е цитиран JSON низ:
SELECT json_array( 9, '7', 12, 11 ); Резултат:
[9,"7",12,11]
Предаване на JSON обекти
Предаването на аргумент с SQL тип TEXT води до JSON низ в кавички, като всички етикети в кавички са екранирани:
SELECT json_array( '{ "a" : 1 }' ); Резултат:
["{ \"a\" : 1 }"]
Ако не искаме това да се случи, можем да използваме json() функция за предоставяне на стойността като валиден JSON документ:
SELECT json_array( json('{ "a" : 1 }') ); Резултат:
[{"a":1}]
Друг начин да го направите е да използвате -> на SQLite оператор:
SELECT json_array( '{ "a" : 1 }' -> '$' ); Резултат:
[{"a":1}]
Като алтернатива можем да използваме json_object() функция:
SELECT json_array( json_object( 'a', 1 ) ); Резултат:
[{"a":1}] Ето го с някои други елементи на масива:
SELECT json_array( "Cat", json_object( 'a', 1 ), "Dog" ); Резултат:
["Cat",{"a":1},"Dog"] Предаване на JSON масиви
Подобно нещо е и при предаване на JSON масиви:
SELECT json_array( '[ 9, 4, 7 ]' ); Резултат:
["[ 9, 4, 7 ]"]
В този случай получаваме JSON масив, който съдържа низ, който прилича на друг масив.
За да върнем действителен JSON масив, можем да предадем нашия аргумент на json() функция:
SELECT json_array( json('[ 9, 4, 7 ]') ); Резултат:
[[9,4,7]]
Можем също да използваме -> оператор:
SELECT json_array( '[ 9, 4, 7 ]' -> '$' ); Резултат:
[[9,4,7]]
Като алтернатива можем да предадем стойностите на друг json_array() :
SELECT json_array( json_array( 9, 4, 7 ) ); Резултат:
[[9,4,7]]
Ето го с някои други елементи на масива:
SELECT json_array( "Cat", json_array( 9, 4, 7 ), "Dog" ); Резултат:
["Cat",[9,4,7],"Dog"]
Създайте празен масив
Извикване на json_array() без подаване на аргументи води до празен масив:
SELECT json_array(); Резултат:
[]