sql >> Database >  >> RDS >> SQLite

SQLite JSON_ARRAY()

In SQLite is de json_array() functie retourneert een goed gevormde JSON-array op basis van zijn argumenten.

De functie accepteert nul of meer argumenten en elk argument wordt een element in de resulterende array.

Syntaxis

json_array(value1,value2,...)

Waar value1, value2, ... vertegenwoordigt de array-elementen voor de resulterende array.

Voorbeeld

Hier is een eenvoudig voorbeeld om te demonstreren:

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

Resultaat:

[9,7,12,11]

Door aanhalingstekens aan een getal toe te voegen, wordt dat array-element een JSON-tekenreeks tussen aanhalingstekens:

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

Resultaat:

[9,"7",12,11]

JSON-objecten doorgeven

Het doorgeven van een argument met het SQL-type TEXT resulteert in een JSON-tekenreeks tussen aanhalingstekens, waarbij eventuele labels tussen aanhalingstekens worden geëscaped:

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

Resultaat:

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

Als we niet willen dat dit gebeurt, kunnen we de json() . gebruiken functie om de waarde op te geven als een geldig JSON-document:

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

Resultaat:

[{"a":1}]

Een andere manier om dit te doen is door SQLite's -> . te gebruiken operator:

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

Resultaat:

[{"a":1}]

Als alternatief kunnen we de json_object() . gebruiken functie:

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

Resultaat:

[{"a":1}]

Hier is het met enkele andere array-elementen:

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

Resultaat:

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

JSON-arrays doorgeven

Hetzelfde geldt voor het doorgeven van JSON-arrays:

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

Resultaat:

["[ 9, 4, 7 ]"]

In dit geval krijgen we een JSON-array die een tekenreeks bevat die lijkt op een andere array.

Om een ​​daadwerkelijke JSON-array terug te geven, kunnen we ons argument doorgeven aan de json() functie:

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

Resultaat:

[[9,4,7]]

We kunnen ook de -> . gebruiken operator:

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

Resultaat:

[[9,4,7]]

Als alternatief kunnen we de waarden doorgeven aan een andere json_array() :

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

Resultaat:

[[9,4,7]]

Hier is het met enkele andere array-elementen:

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

Resultaat:

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

Maak een lege array

json_array() . aanroepen zonder het doorgeven van argumenten resulteert in een lege array:

SELECT json_array();

Resultaat:

[]

  1. MariaDB in Tokio

  2. Wat is Greenplum-database? Inleiding tot de Big Data-database

  3. Hoe de sortering in MySQL te vinden

  4. Een een-op-twee niet-null-beperking toevoegen in postgresql