I MySQL kan du bruge JSON_ARRAY()
funktion til at oprette et JSON-array fra en liste over værdier. Du angiver hver værdi som et separat argument. Hvert argument bliver et separat element i arrayet.
Funktionen accepterer også en tom liste (dvs. du angiver ingen argumenter). I dette tilfælde får du et tomt array.
Syntaks
Syntaksen ser sådan ud:
JSON_ARRAY([val[, val] ...])
De firkantede parenteser angiver et valgfrit argument. Derfor er det ganske gyldigt at bruge denne funktion uden at sende nogen argumenter ind.
Eksempel 1 – Strings
Her er et eksempel på returnering af et array fra en liste over strenge.
SELECT JSON_ARRAY('Hot', 'Warm', 'Cold') AS 'Result';
Resultat:
+-------------------------+ | Result | +-------------------------+ | ["Hot", "Warm", "Cold"] | +-------------------------+
Eksempel 2 – Tal
Listen kan også være tal:
SELECT JSON_ARRAY(1, 2, 3) AS 'Result';
Resultat:
+-----------+ | Result | +-----------+ | [1, 2, 3] | +-----------+
Eksempel 3 – Blandede typer
Og det kan være en blanding af strenge og tal:
SELECT JSON_ARRAY(1, 'Warm', 3) AS 'Result';
Resultat:
+----------------+ | Result | +----------------+ | [1, "Warm", 3] | +----------------+
Eksempel 4 – Tomme strenge
Det fungerer også med tomme strenge.
SELECT JSON_ARRAY(1, '', 3) AS 'Result';
Resultat:
+------------+ | Result | +------------+ | [1, "", 3] | +------------+
Eksempel 5 – Tomme lister
Som nævnt er det OK at ikke give nogen argumenter. Hvis du gør dette, vil det resultere i et tomt array.
SELECT JSON_ARRAY() AS 'Result';
Resultat:
+--------+ | Result | +--------+ | [] | +--------+
Eksempel 5 – NULL-værdier
Og ja, NULL-værdier kan også inkluderes.
SELECT JSON_ARRAY(1, NULL, 3) AS 'Result';
Resultat:
+--------------+ | Result | +--------------+ | [1, null, 3] | +--------------+