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} |
+-------------------------+