I Oracle Database er JSON_ARRAY() funktion opretter et JSON-array ud fra en sekvens af SQL-skalære udtryk eller en samlingstypeforekomst, VARRAY eller NESTED TABLE .
Syntaks
Syntaksen ser sådan ud:
JSON_ARRAY
( expr [ FORMAT JSON ] [, expr [ FORMAT JSON ] ]...
[ JSON_on_null_clause ] [ JSON_returning_clause ]
[ STRICT ] ) Hvor:
exprer ethvert SQL-udtryk, der evalueres til et JSON-objekt, et JSON-array, en numerisk literal, en tekstliteral, dato, tidsstempel ellernull.FORMAT JSONangiver, at inputstrengen er JSON, og vil derfor ikke blive citeret i outputtet.JSON_on_null_clauseangiver den adfærd, der skal bruges, nårexprindeholder en null-værdi (dvs. inkludere enten null-værdier i output eller ikke).JSON_returning_clauseangiver typen af returværdi.STRICTkontrollerer, om outputtet fra JSON-genereringsfunktionen er korrekt JSON. Hvis kontrollen mislykkes, opstår der en syntaksfejl.
Eksempel
Her er et eksempel for at demonstrere, hvordan det virker:
SELECT JSON_ARRAY(1, 2, 3) FROM DUAL; Resultat:
[1,2,3]
Indlejret
Du kan også indlejre JSON_ARRAY() fungerer i en anden JSON_ARRAY() funktion:
SELECT JSON_ARRAY(
JSON_ARRAY(1, 2, 3),
JSON_ARRAY(4, 5, 6)
)
FROM DUAL; Resultat:
[[1,2,3],[4,5,6]]
FORMAT JSON Klausul
Du kan bruge FORMAT JSON klausul for at angive, at input-strengen er JSON, og bør derfor ikke citeres i outputtet.
Her er et eksempel til demonstration:
SELECT
JSON_ARRAY('{"a":1}') AS r1,
JSON_ARRAY('{"a":1}' FORMAT JSON) AS r2
FROM DUAL; Resultat:
R1 R2
________________ ____________
["{\"a\":1}"] [{"a":1}] Nul-værdier
Du kan angive, om null-værdier skal inkluderes i det resulterende array.
For at inkludere dem, brug NULL ON NULL :
SELECT
JSON_ARRAY(1, null, 3 NULL ON NULL)
FROM DUAL; Resultat:
[1,null,3]
For at udelukke dem, brug ABSENT ON NULL :
SELECT
JSON_ARRAY(1, null, 3 ABSENT ON NULL)
FROM DUAL; Resultat:
[1,3]
ABSENT ON NULL er standard.
Se Oracles dokumentation for en mere detaljeret forklaring af denne funktion.