MariaDBでは、JSON_OBJECT()
は、引数として提供されたキーと値のペアを含むJSONオブジェクトを返す組み込み関数です。
構文
構文は次のようになります:
JSON_OBJECT([key, value[, key, value] ...])
この関数は、任意の数のキーと値のペアを受け入れます。
キー/値リストは空にすることもできます。
例
関数を示す簡単な例を次に示します。
SELECT JSON_OBJECT("name", "Homer", "type", "Idiot");
結果:
+-----------------------------------------------+ | JSON_OBJECT("name", "Homer", "type", "Idiot") | +-----------------------------------------------+ | {"name": "Homer", "type": "Idiot"} | +-----------------------------------------------+
引数なし
前述のように、引数リストは空にすることができます。その場合、空のオブジェクトが返されます:
SELECT JSON_OBJECT();
結果:
+---------------+ | JSON_OBJECT() | +---------------+ | {} | +---------------+
パラメータカウントが正しくありません
ただし、引数を指定する場合は、引数を偶数にする必要があります(各キーに対応する値が含まれるようにするため)。
JSON_OBJECT()
に引数を1つだけ渡すとどうなりますか。 :
SELECT JSON_OBJECT("name");
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_OBJECT'
3つの引数を渡した場合も同じエラーが発生します:
SELECT JSON_OBJECT("name", "Homer", "type");
結果:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_OBJECT'
など…
ヌルキー名
MariaDBのドキュメントには、キー名がNULL
の場合にエラーが返されると記載されています。 。
ただし、別の結果が得られます:
SELECT JSON_OBJECT(null, null);
結果:
+-------------------------+ | JSON_OBJECT(null, null) | +-------------------------+ | {"": null} | +-------------------------+