Mysql
 sql >> Base de données >  >> RDS >> Mysql

JSON_OBJECT() - Créer un objet JSON à partir d'une liste de paires clé/valeur dans MySQL

Dans MySQL, vous pouvez utiliser JSON_OBJECT() pour créer un objet JSON à partir d'une liste de paires clé/valeur. Vous fournissez chaque paire clé/valeur sous la forme de deux arguments distincts. Chaque paire devient une paire clé/valeur dans l'objet JSON résultant.

Vous devez fournir un nombre pair d'arguments (sinon, vous auriez une paire incomplète quelque part dans votre liste d'arguments).

La fonction accepte également une liste vide (c'est-à-dire que vous ne fournissez aucun argument). Dans ce cas, vous obtiendrez un objet vide.

Syntaxe

La syntaxe ressemble à ceci :

JSON_OBJECT([key, val[, key, val] ...])

Les crochets indiquent un argument facultatif. Par conséquent, il est tout à fait valide d'utiliser cette fonction sans passer d'arguments.

Exemple 1 - Utilisation de base

Voici un exemple pour illustrer.

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

Résultat :

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

Exemple 2 - Chaînes vides

Les chaînes vides sont valides.

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

Résultat :

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

Ceci s'applique également à la clé :

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

Résultat :

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

Exemple 3 – Listes vides

Les listes vides sont également valides. Cela se traduira par un objet JSON vide.

SELECT JSON_OBJECT() AS 'Result';

Résultat :

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

Exemple 4 – Valeurs NULL

La valeur une partie de la paire clé/valeur peut contenir des valeurs NULL.

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

Résultat :

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

Mais la clé la partie ne peut pas contenir de valeurs NULL. Si une clé a une valeur NULL, une erreur se produira.

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

Résultat :

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