In MySQL, puoi utilizzare JSON_OBJECT()
funzione per creare un oggetto JSON da un elenco di coppie chiave/valore. Fornisci ogni coppia chiave/valore come due argomenti separati. Ogni coppia diventa una coppia chiave/valore nell'oggetto JSON risultante.
Devi fornire un numero pari di argomenti (altrimenti, avresti una coppia incompleta da qualche parte nel tuo elenco di argomenti).
La funzione accetta anche una lista vuota (cioè non fornisci argomenti). In questo caso, otterrai un oggetto vuoto.
Sintassi
La sintassi è questa:
JSON_OBJECT([key, val[, key, val] ...])
Le parentesi quadre indicano un argomento facoltativo. Pertanto, è abbastanza valido utilizzare questa funzione senza passare alcun argomento.
Esempio 1 – Utilizzo di base
Ecco un esempio da dimostrare.
SELECT JSON_OBJECT('City', 'Cairns', 'Population', 139693) AS 'Result';
Risultato:
+------------------------------------------+ | Result | +------------------------------------------+ | {"City": "Cairns", "Population": 139693} | +------------------------------------------+
Esempio 2 – Stringhe vuote
Le stringhe vuote sono valide.
SELECT JSON_OBJECT('City', '', 'Population', 139693) AS 'Result';
Risultato:
+------------------------------------+ | Result | +------------------------------------+ | {"City": "", "Population": 139693} | +------------------------------------+
Questo vale anche per la chiave:
SELECT JSON_OBJECT('', 'Cairns', 'Population', 139693) AS 'Result';
Risultato:
+--------------------------------------+ | Result | +--------------------------------------+ | {"": "Cairns", "Population": 139693} | +--------------------------------------+
Esempio 3 – Liste vuote
Sono valide anche le liste vuote. Ciò risulterà in un oggetto JSON vuoto.
SELECT JSON_OBJECT() AS 'Result';
Risultato:
+--------+ | Result | +--------+ | {} | +--------+
Esempio 4 – Valori NULL
Il valore parte della coppia chiave/valore può contenere valori NULL.
SELECT JSON_OBJECT('City', 'Cairns', 'Population', NULL) AS 'Result';
Risultato:
+----------------------------------------+ | Result | +----------------------------------------+ | {"City": "Cairns", "Population": null} | +----------------------------------------+
Ma la chiave la parte non può contenere valori NULL. Se una chiave ha un valore NULL, si verificherà un errore.
SELECT JSON_OBJECT('City', 'Cairns', NULL, 139693) AS 'Result';
Risultato:
ERROR 3158 (22032): JSON documents may not contain NULL member names.