説明
この関数は、JSONオブジェクトのトップレベル値から検索を開始し、対応するパスのKeyの配列を返します。
構文
JSON_KEYS(json_doc[, path])
説明
パラメータ json_doc はJSONドキュメントを指定するために使用され、path はパスパラメータです。いずれかのパラメータが NULL の場合、NULL を返します。
json_doc パラメータがオブジェクトではない場合、または path(指定されている場合)が任意のパスに対応しない場合、NULL を返します。
以下の場合はエラーが発生します:
json_docパラメータが有効なJSONドキュメントではない場合。pathパラメータが有効なパス式ではない場合。pathパラメータに * または ** ワイルドカードが含まれている場合。
選択されたオブジェクトが空の場合、結果も空になります。トップレベル値にサブオブジェクトがネストされている場合、戻り値にはこれらのサブオブジェクトからのKeyは含まれません。
例
obclient> SELECT JSON_KEYS('{"a": 1, "b": {"c": 20}}', '$.b');
+----------------------------------------------+
| JSON_KEYS('{"a": 1, "b": {"c": 20}}', '$.b') |
+----------------------------------------------+
| ["c"] |
+----------------------------------------------+
1 row in set
obclient> SELECT JSON_KEYS('{"a": 1, "b": {"c": 20}}');
+---------------------------------------+
| JSON_KEYS('{"a": 1, "b": {"c": 20}}') |
+---------------------------------------+
| ["a", "b"] |
+---------------------------------------+
1 row in set