V MariaDB, JSON_OBJECT()
je vestavěná funkce, která vrací objekt JSON obsahující páry klíč/hodnota poskytnuté jako argumenty.
Syntaxe
Syntaxe vypadá takto:
JSON_OBJECT([key, value[, key, value] ...])
Funkce přijímá libovolný počet párů klíč/hodnota.
Seznam klíč/hodnota může být také prázdný.
Příklad
Zde je jednoduchý příklad pro demonstraci funkce:
SELECT JSON_OBJECT("name", "Homer", "type", "Idiot");
Výsledek:
+-----------------------------------------------+ | JSON_OBJECT("name", "Homer", "type", "Idiot") | +-----------------------------------------------+ | {"name": "Homer", "type": "Idiot"} | +-----------------------------------------------+
Žádné argumenty
Jak bylo zmíněno, seznam argumentů může být prázdný, v takovém případě bude vrácen prázdný objekt:
SELECT JSON_OBJECT();
Výsledek:
+---------------+ | JSON_OBJECT() | +---------------+ | {} | +---------------+
Nesprávný počet parametrů
Pokud však argumenty zadáte, musí to být sudý počet argumentů (takže každý klíč má odpovídající hodnotu).
Zde je to, co se stane, když předám pouze jeden argument do JSON_OBJECT()
:
SELECT JSON_OBJECT("name");
Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_OBJECT'
Ke stejné chybě dojde, když předám tři argumenty:
SELECT JSON_OBJECT("name", "Homer", "type");
Výsledek:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_OBJECT'
A tak dále…
Nulové názvy klíčů
Dokumentace MariaDB uvádí, že pokud je jakýkoli název klíče NULL
, vrátí se chyba .
Dostávám však jiný výsledek:
SELECT JSON_OBJECT(null, null);
Výsledek:
+-------------------------+ | JSON_OBJECT(null, null) | +-------------------------+ | {"": null} | +-------------------------+