sql >> Base de Datos >  >> RDS >> Mysql

JSON_OBJECT():cree un objeto JSON a partir de una lista de pares clave/valor en MySQL

En MySQL, puede usar JSON_OBJECT() función para crear un objeto JSON a partir de una lista de pares clave/valor. Proporciona cada par clave/valor como dos argumentos separados. Cada par se convierte en un par clave/valor en el objeto JSON resultante.

Debe proporcionar un número par de argumentos (de lo contrario, tendría un par incompleto en algún lugar de su lista de argumentos).

La función también acepta una lista vacía (es decir, no proporciona argumentos). En este caso, obtendrá un objeto vacío.

Sintaxis

La sintaxis es así:

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

Los corchetes indican un argumento opcional. Por lo tanto, es bastante válido usar esta función sin pasar ningún argumento.

Ejemplo 1:uso básico

Aquí hay un ejemplo para demostrarlo.

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

Resultado:

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

Ejemplo 2:cadenas vacías

Las cadenas vacías son válidas.

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

Resultado:

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

Esto también se aplica a la clave:

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

Resultado:

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

Ejemplo 3:listas vacías

Las listas vacías también son válidas. Esto dará como resultado un objeto JSON vacío.

SELECT JSON_OBJECT() AS 'Result';

Resultado:

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

Ejemplo 4:valores NULL

El valor parte del par clave/valor puede contener valores NULOS.

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

Resultado:

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

Pero la clave parte no puede contener valores NULL. Si una clave tiene un valor NULL, se producirá un error.

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

Resultado:

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