sql >> Databáze >  >> RDS >> Mysql

JSON_OBJECT() – Vytvoření objektu JSON ze seznamu párů klíč/hodnota v MySQL

V MySQL můžete použít JSON_OBJECT() funkce k vytvoření objektu JSON ze seznamu párů klíč/hodnota. Každý pár klíč/hodnota poskytujete jako dva samostatné argumenty. Každý pár se ve výsledném objektu JSON stane párem klíč/hodnota.

Musíte zadat sudý počet argumentů (jinak byste měli v seznamu argumentů neúplný pár).

Funkce také přijímá prázdný seznam (tj. nezadáte žádné argumenty). V tomto případě získáte prázdný objekt.

Syntaxe

Syntaxe vypadá takto:

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

Hranaté závorky označují volitelný argument. Proto je docela rozumné používat tuto funkci bez předávání jakýchkoli argumentů.

Příklad 1 – Základní použití

Zde je příklad k demonstraci.

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

Výsledek:

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

Příklad 2 – Prázdné řetězce

Prázdné řetězce jsou platné.

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

Výsledek:

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

To platí také pro klíč:

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

Výsledek:

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

Příklad 3 – Prázdné seznamy

Prázdné seznamy jsou také platné. Výsledkem bude prázdný objekt JSON.

SELECT JSON_OBJECT() AS 'Result';

Výsledek:

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

Příklad 4 – hodnoty NULL

hodnota část páru klíč/hodnota může obsahovat hodnoty NULL.

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

Výsledek:

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

Ale klíč část nemůže obsahovat hodnoty NULL. Pokud má klíč hodnotu NULL, dojde k chybě.

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

Výsledek:

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


  1. Vliv fragmentace na prováděcí plány

  2. Zabezpečení MySQL – využití práv pro přístup k datům pro bezpečnou instalaci

  3. Chyba přihlášení SQL Server 2008 Windows Auth:Přihlášení pochází z nedůvěryhodné domény

  4. Anonymní typ TABLE nebo VARRAY v Oracle