JSON_KEYS
デスクリプション
JSON オブジェクトのすべてのキーを配列形式で返します。デフォルトでは、ルートオブジェクトのキーを返しますが、パラメータを通じて特定のパスのオブジェクトキーを返すように制御することも可能です。
Syntax
JSON_KEYS(<json_object>[, <path>])
パラメータ
Required パラメータ
<json_object>JSON型、キーを抽出する必要があるJSONオブジェクト。
Optional パラメータ
<path>String型、チェックするJSONサブドキュメントを指定するオプションのJSONパス。指定されない場合、ルートドキュメントがデフォルトとなります。
Return Value
- Array
文字列の配列を返します。配列のメンバーはJSONオブジェクトのすべてのキーです。
注釈
<json_object>または<path>がNULLの場合、NULLを返します。- JSONオブジェクトでない場合(例:JSON配列の場合)、NULLを返します。
<path>で指定されたオブジェクトが存在しない場合、NULLを返します。
Examples
-
Example 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 |
+----------------------------------------------+