I MySQL kan du använda JSON_OBJECT()
funktion för att skapa ett JSON-objekt från en lista med nyckel/värdepar. Du tillhandahåller varje nyckel/värdepar som två separata argument. Varje par blir ett nyckel/värdepar i det resulterande JSON-objektet.
Du måste ange ett jämnt antal argument (annars skulle du ha ett ofullständigt par någonstans i din lista med argument).
Funktionen accepterar också en tom lista (dvs du anger inga argument). I det här fallet får du ett tomt objekt.
Syntax
Syntaxen ser ut så här:
JSON_OBJECT([key, val[, key, val] ...])
Hakparenteserna indikerar ett valfritt argument. Därför är det ganska giltigt att använda den här funktionen utan att skicka in några argument.
Exempel 1 – Grundläggande användning
Här är ett exempel att visa.
SELECT JSON_OBJECT('City', 'Cairns', 'Population', 139693) AS 'Result';
Resultat:
+------------------------------------------+ | Result | +------------------------------------------+ | {"City": "Cairns", "Population": 139693} | +------------------------------------------+
Exempel 2 – Tomma strängar
Tomma strängar är giltiga.
SELECT JSON_OBJECT('City', '', 'Population', 139693) AS 'Result';
Resultat:
+------------------------------------+ | Result | +------------------------------------+ | {"City": "", "Population": 139693} | +------------------------------------+
Detta gäller även nyckeln:
SELECT JSON_OBJECT('', 'Cairns', 'Population', 139693) AS 'Result';
Resultat:
+--------------------------------------+ | Result | +--------------------------------------+ | {"": "Cairns", "Population": 139693} | +--------------------------------------+
Exempel 3 – Tomma listor
Tomma listor är också giltiga. Detta kommer att resultera i ett tomt JSON-objekt.
SELECT JSON_OBJECT() AS 'Result';
Resultat:
+--------+ | Result | +--------+ | {} | +--------+
Exempel 4 – NULL-värden
värdet en del av nyckel/värdeparet kan innehålla NULL-värden.
SELECT JSON_OBJECT('City', 'Cairns', 'Population', NULL) AS 'Result';
Resultat:
+----------------------------------------+ | Result | +----------------------------------------+ | {"City": "Cairns", "Population": null} | +----------------------------------------+
Men nyckeln delen kan inte innehålla NULL-värden. Om en nyckel har ett NULL-värde kommer ett fel att uppstå.
SELECT JSON_OBJECT('City', 'Cairns', NULL, 139693) AS 'Result';
Resultat:
ERROR 3158 (22032): JSON documents may not contain NULL member names.