In MySQL kunt u de JSON_OBJECT()
. gebruiken functie om een JSON-object te maken op basis van een lijst met sleutel/waarde-paren. U geeft elk sleutel/waarde-paar op als twee afzonderlijke argumenten. Elk paar wordt een sleutel/waarde-paar in het resulterende JSON-object.
U moet een even aantal argumenten opgeven (anders zou u ergens in uw lijst met argumenten een onvolledig paar hebben).
De functie accepteert ook een lege lijst (d.w.z. u geeft geen argumenten op). In dit geval krijg je een leeg object.
Syntaxis
De syntaxis gaat als volgt:
JSON_OBJECT([key, val[, key, val] ...])
De vierkante haken geven een optioneel argument aan. Daarom is het redelijk geldig om deze functie te gebruiken zonder argumenten in te voeren.
Voorbeeld 1 – Basisgebruik
Hier is een voorbeeld om te demonstreren.
SELECT JSON_OBJECT('City', 'Cairns', 'Population', 139693) AS 'Result';
Resultaat:
+------------------------------------------+ | Result | +------------------------------------------+ | {"City": "Cairns", "Population": 139693} | +------------------------------------------+
Voorbeeld 2 – Lege strings
Lege strings zijn geldig.
SELECT JSON_OBJECT('City', '', 'Population', 139693) AS 'Result';
Resultaat:
+------------------------------------+ | Result | +------------------------------------+ | {"City": "", "Population": 139693} | +------------------------------------+
Dit geldt ook voor de sleutel:
SELECT JSON_OBJECT('', 'Cairns', 'Population', 139693) AS 'Result';
Resultaat:
+--------------------------------------+ | Result | +--------------------------------------+ | {"": "Cairns", "Population": 139693} | +--------------------------------------+
Voorbeeld 3 – Lege lijsten
Lege lijsten zijn ook geldig. Dit resulteert in een leeg JSON-object.
SELECT JSON_OBJECT() AS 'Result';
Resultaat:
+--------+ | Result | +--------+ | {} | +--------+
Voorbeeld 4 – NULL-waarden
De waarde een deel van het sleutel/waarde-paar kan NULL-waarden bevatten.
SELECT JSON_OBJECT('City', 'Cairns', 'Population', NULL) AS 'Result';
Resultaat:
+----------------------------------------+ | Result | +----------------------------------------+ | {"City": "Cairns", "Population": null} | +----------------------------------------+
Maar de sleutel onderdeel mag geen NULL-waarden bevatten. Als een sleutel een NULL-waarde heeft, treedt er een fout op.
SELECT JSON_OBJECT('City', 'Cairns', NULL, 139693) AS 'Result';
Resultaat:
ERROR 3158 (22032): JSON documents may not contain NULL member names.