MySQLでは、JSON_OBJECT()を使用できます キーと値のペアのリストからJSONオブジェクトを作成する関数。各キーと値のペアを2つの別々の引数として指定します。各ペアは、結果のJSONオブジェクトのキー/値ペアになります。
偶数の引数を指定する必要があります(そうしないと、引数のリストのどこかに不完全なペアが含まれることになります)。
この関数は空のリストも受け入れます(つまり、引数を指定しません)。この場合、空のオブジェクトが取得されます。
構文
構文は次のようになります:
JSON_OBJECT([key, val[, key, val] ...])
角かっこはオプションの引数を示します。したがって、引数を渡さずにこの関数を使用することは非常に有効です。
例1-基本的な使用法
実例を示します。
SELECT JSON_OBJECT('City', 'Cairns', 'Population', 139693) AS 'Result';
結果:
+------------------------------------------+
| Result |
+------------------------------------------+
| {"City": "Cairns", "Population": 139693} |
+------------------------------------------+
例2–空の文字列
空の文字列は有効です。
SELECT JSON_OBJECT('City', '', 'Population', 139693) AS 'Result';
結果:
+------------------------------------+
| Result |
+------------------------------------+
| {"City": "", "Population": 139693} |
+------------------------------------+
これはキーにも当てはまります:
SELECT JSON_OBJECT('', 'Cairns', 'Population', 139693) AS 'Result';
結果:
+--------------------------------------+
| Result |
+--------------------------------------+
| {"": "Cairns", "Population": 139693} |
+--------------------------------------+
例3–空のリスト
空のリストも有効です。これにより、JSONオブジェクトが空になります。
SELECT JSON_OBJECT() AS 'Result';
結果:
+--------+
| Result |
+--------+
| {} |
+--------+
例4–NULL値
値 キーと値のペアの一部にNULL値を含めることができます。
SELECT JSON_OBJECT('City', 'Cairns', 'Population', NULL) AS 'Result';
結果:
+----------------------------------------+
| Result |
+----------------------------------------+
| {"City": "Cairns", "Population": null} |
+----------------------------------------+
しかし、キー 一部にNULL値を含めることはできません。キーの値がNULLの場合、エラーが発生します。
SELECT JSON_OBJECT('City', 'Cairns', NULL, 139693) AS 'Result';
結果:
ERROR 3158 (22032): JSON documents may not contain NULL member names.