Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

JSON_OBJECT() – Crie um objeto JSON de uma lista de pares de chave/valor no MySQL


No MySQL, você pode usar o JSON_OBJECT() função para criar um objeto JSON de uma lista de pares chave/valor. Você fornece cada par de chave/valor como dois argumentos separados. Cada par se torna um par chave/valor no objeto JSON resultante.

Você deve fornecer um número par de argumentos (caso contrário, você teria um par incompleto em algum lugar da sua lista de argumentos).

A função também aceita uma lista vazia (ou seja, você não fornece argumentos). Nesse caso, você obterá um objeto vazio.


Sintaxe


A sintaxe fica assim:
JSON_OBJECT([key, val[, key, val] ...])

Os colchetes indicam um argumento opcional. Portanto, é bastante válido usar esta função sem passar nenhum argumento.

Exemplo 1 – Uso básico


Aqui está um exemplo para demonstrar.
SELECT JSON_OBJECT('City', 'Cairns', 'Population', 139693) AS 'Result';

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

Exemplo 2 – Strings vazias


Strings vazias são válidas.
SELECT JSON_OBJECT('City', '', 'Population', 139693) AS 'Result';

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

Isso também se aplica à chave:
SELECT JSON_OBJECT('', 'Cairns', 'Population', 139693) AS 'Result';

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

Exemplo 3 – Listas vazias


Listas vazias também são válidas. Isso resultará em um objeto JSON vazio.
SELECT JSON_OBJECT() AS 'Result';

Resultado:
+--------+
| Result |
+--------+
| {}     |
+--------+

Exemplo 4 – Valores NULOS


O valor parte do par chave/valor pode conter valores NULL.
SELECT JSON_OBJECT('City', 'Cairns', 'Population', NULL) AS 'Result';

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

Mas a chave parte não pode conter valores NULL. Se uma chave tiver um valor NULL, ocorrerá um erro.
SELECT JSON_OBJECT('City', 'Cairns', NULL, 139693) AS 'Result';

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