SQLite
 sql >> база данни >  >> RDS >> SQLite

SQLite JSON_ARRAY()

В 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();

Резултат:

[]

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как работи SQLite Nullif().

  2. PRAGMA table_list в SQLite

  3. (Android) Намерете пътя /Android във вътрешната памет

  4. SQLite Изберете Distinct

  5. Основен ключ за обработка на Android Realm в релационен обект