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:
[]