sql >> Database teknologi >  >> RDS >> Mysql

JSON_OBJECT() – Opret et JSON-objekt fra en liste over nøgle-/værdipar i MySQL

I MySQL kan du bruge JSON_OBJECT() funktion til at oprette et JSON-objekt fra en liste over nøgle/værdi-par. Du angiver hvert nøgle/værdi-par som to separate argumenter. Hvert par bliver et nøgle/værdi-par i det resulterende JSON-objekt.

Du skal angive et lige antal argumenter (ellers ville du have et ufuldstændigt par et eller andet sted på din liste over argumenter).

Funktionen accepterer også en tom liste (dvs. du angiver ingen argumenter). I dette tilfælde får du et tomt objekt.

Syntaks

Syntaksen ser sådan ud:

JSON_OBJECT([key, val[, key, 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 – Grundlæggende brug

Her er et eksempel til at demonstrere.

SELECT JSON_OBJECT('City', 'Cairns', 'Population', 139693) AS 'Result';

Resultat:

+------------------------------------------+
| Result                                   |
+------------------------------------------+
| {"City": "Cairns", "Population": 139693} |
+------------------------------------------+

Eksempel 2 – Tomme strenge

Tomme strenge er gyldige.

SELECT JSON_OBJECT('City', '', 'Population', 139693) AS 'Result';

Resultat:

+------------------------------------+
| Result                             |
+------------------------------------+
| {"City": "", "Population": 139693} |
+------------------------------------+

Dette gælder også for nøglen:

SELECT JSON_OBJECT('', 'Cairns', 'Population', 139693) AS 'Result';

Resultat:

+--------------------------------------+
| Result                               |
+--------------------------------------+
| {"": "Cairns", "Population": 139693} |
+--------------------------------------+

Eksempel 3 – Tomme lister

Tomme lister er også gyldige. Dette vil resultere i et tomt JSON-objekt.

SELECT JSON_OBJECT() AS 'Result';

Resultat:

+--------+
| Result |
+--------+
| {}     |
+--------+

Eksempel 4 – NULL-værdier

værdien en del af nøgle/værdi-parret kan indeholde NULL-værdier.

SELECT JSON_OBJECT('City', 'Cairns', 'Population', NULL) AS 'Result';

Resultat:

+----------------------------------------+
| Result                                 |
+----------------------------------------+
| {"City": "Cairns", "Population": null} |
+----------------------------------------+

Men nøglen del kan ikke indeholde NULL-værdier. Hvis en nøgle har en NULL-værdi, vil der opstå en fejl.

SELECT JSON_OBJECT('City', 'Cairns', NULL, 139693) AS 'Result';

Resultat:

ERROR 3158 (22032): JSON documents may not contain NULL member names.


  1. Hvordan bruger man en dynamisk parameter i en IN-klausul i en JPA-navngivet forespørgsel?

  2. Sådan finder du pg_config-stien

  3. Installation af specifikke pakkeversioner med pip

  4. Forskellen mellem sys.sql_modules, sys.system_sql_modules og sys.all_sql_modules i SQL Server