SQLite
 sql >> Baza danych >  >> RDS >> SQLite

SQLite JSON_ARRAY()

W SQLite json_array() funkcja zwraca poprawnie sformatowaną tablicę JSON na podstawie jej argumentów.

Funkcja przyjmuje zero lub więcej argumentów, a każdy argument staje się elementem wynikowej tablicy.

Składnia

json_array(value1,value2,...)

Gdzie value1, value2, ... reprezentuje elementy tablicy wynikowej tablicy.

Przykład

Oto prosty przykład do zademonstrowania:

SELECT json_array( 9, 7, 12, 11 );

Wynik:

[9,7,12,11]

Dodanie cudzysłowów do liczby powoduje, że ten element tablicy jest ciągiem JSON w cudzysłowie:

SELECT json_array( 9, '7', 12, 11 );

Wynik:

[9,"7",12,11]

Przekazywanie obiektów JSON

Przekazanie argumentu z typem SQL typu TEXT powoduje powstanie ciągu JSON w cudzysłowie, ze znakami ucieczki wszystkich etykiet w cudzysłowie:

SELECT json_array( '{ "a" : 1 }' );

Wynik:

["{ \"a\" : 1 }"]

Jeśli nie chcemy, aby tak się stało, możemy użyć json() funkcja do podania wartości jako prawidłowego dokumentu JSON:

SELECT json_array( json('{ "a" : 1 }') );

Wynik:

[{"a":1}]

Innym sposobem na to jest użycie -> SQLite operator:

SELECT json_array( '{ "a" : 1 }' -> '$' );

Wynik:

[{"a":1}]

Alternatywnie możemy użyć json_object() funkcja:

SELECT json_array( json_object( 'a', 1 ) );

Wynik:

[{"a":1}]

Oto kilka innych elementów tablicy:

SELECT json_array( "Cat", json_object( 'a', 1 ), "Dog" );

Wynik:

["Cat",{"a":1},"Dog"]

Przekazywanie tablic JSON

Podobnie jest z przekazywaniem tablic JSON:

SELECT json_array( '[ 9, 4, 7 ]' );

Wynik:

["[ 9, 4, 7 ]"]

W tym przypadku otrzymujemy tablicę JSON zawierającą ciąg przypominający inną tablicę.

Aby zwrócić rzeczywistą tablicę JSON, możemy przekazać nasz argument do json() funkcja:

SELECT json_array( json('[ 9, 4, 7 ]') );

Wynik:

[[9,4,7]]

Możemy również użyć -> operator:

SELECT json_array( '[ 9, 4, 7 ]' -> '$' );

Wynik:

[[9,4,7]]

Alternatywnie możemy przekazać wartości do innego json_array() :

SELECT json_array( json_array( 9, 4, 7 ) );

Wynik:

[[9,4,7]]

Oto kilka innych elementów tablicy:

SELECT json_array( "Cat", json_array( 9, 4, 7 ), "Dog" );

Wynik:

["Cat",[9,4,7],"Dog"]

Utwórz pustą tablicę

Wywołanie json_array() bez przekazywania żadnych argumentów daje w wyniku pustą tablicę:

SELECT json_array();

Wynik:

[]

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kursor SQLiteDatabase pusty tylko na urządzeniach z systemem Android 5.0+

  2. Rozszerzona składnia zapytań SQLite w systemie Android

  3. Sformatuj liczbę jako walutę w SQLite

  4. SQLite ISTNIEJE

  5. SQLite JSON_ARRAY_LENGTH()