sql >> Database >  >> RDS >> Mysql

JSON_OBJECT() - Maak een JSON-object van een lijst met sleutel-/waardeparen in MySQL

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.


  1. Hoe maak ik een unieke beperking die ook nulls toestaat?

  2. Hoe om te gaan met een enkele aanhalingsteken in Oracle SQL

  3. SQLAlchemy-ondersteuning van Postgres Schemas

  4. Retourneer rijen van INSERT met ON CONFLICT zonder te updaten