JSON_KEYS
説明
JSONオブジェクトのすべてのキーを配列形式で返します。デフォルトでは、ルートオブジェクトのキーを返しますが、パラメータを通じて特定のパスのオブジェクトキーを返すことも制御できます。
構文
JSON_KEYS(<json_object>[, <path>])
パラメータ
必須パラメータ
<json_object>JSON型、キーを抽出する必要があるJSONオブジェクト。
オプションパラメータ
<path>String型、チェックするJSONサブドキュメントを指定するオプションのJSONパス。提供されない場合は、ルートドキュメントがデフォルトになります。
戻り値
- Array
文字列の配列を返します。配列のメンバーはJSONオブジェクトのすべてのキーです。
注意事項
<json_object>または<path>がNULLの場合、NULLを返します。- JSONオブジェクトでない場合(例:JSON配列の場合)、NULLを返します。
<path>によって指し示されるオブジェクトが存在しない場合、NULLを返します。
例
-
例1
SELECT JSON_KEYS('{"a": 1, "b": {"c": 30}}');+---------------------------------------+
| JSON_KEYS('{"a": 1, "b": {"c": 30}}') |
+---------------------------------------+
| ["a", "b"] |
+---------------------------------------+SELECT JSON_KEYS('{}');+-----------------+
| JSON_KEYS('{}') |
+-----------------+
| [] |
+-----------------+ -
パスを指定
SELECT JSON_KEYS('{"a": 1, "b": {"c": 30}}', '$.b');+----------------------------------------------+
| JSON_KEYS('{"a": 1, "b": {"c": 30}}', '$.b') |
+----------------------------------------------+
| ["c"] |
+----------------------------------------------+ -
NULLパラメータ
SELECT JSON_KEYS('{"a": 1, "b": {"c": 30}}', NULL);+---------------------------------------------+
| JSON_KEYS('{"a": 1, "b": {"c": 30}}', NULL) |
+---------------------------------------------+
| NULL |
+---------------------------------------------+SELECT JSON_KEYS(NULL);+-----------------+
| JSON_KEYS(NULL) |
+-----------------+
| NULL |
+-----------------+ -
JSONオブジェクトではありません
SELECT JSON_KEYS('[1,2]');+--------------------+
| JSON_KEYS('[1,2]') |
+--------------------+
| NULL |
+--------------------+SELECT JSON_KEYS('{"k": [1, 2, 3]}', '$.k');+--------------------------------------+
| JSON_KEYS('{"k": [1, 2, 3]}', '$.k') |
+--------------------------------------+
| NULL |
+--------------------------------------+ -
パスで指定されたオブジェクトが存在しません
SELECT JSON_KEYS('{"a": 1, "b": {"c": 30}}', '$.c');+----------------------------------------------+
| JSON_KEYS('{"a": 1, "b": {"c": 30}}', '$.c') |
+----------------------------------------------+
| NULL |
+----------------------------------------------+