メインコンテンツまでスキップ
バージョン: 26.x

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

  1. Example 1

    SELECT JSON_KEYS('{"a": 1, "b": {"c": 30}}');
    +---------------------------------------+
    | JSON_KEYS('{"a": 1, "b": {"c": 30}}') |
    +---------------------------------------+
    | ["a", "b"] |
    +---------------------------------------+
    SELECT JSON_KEYS('{}');
    +-----------------+
    | JSON_KEYS('{}') |
    +-----------------+
    | [] |
    +-----------------+
  2. パスを指定する

    SELECT JSON_KEYS('{"a": 1, "b": {"c": 30}}', '$.b');
    +----------------------------------------------+
    | JSON_KEYS('{"a": 1, "b": {"c": 30}}', '$.b') |
    +----------------------------------------------+
    | ["c"] |
    +----------------------------------------------+
  3. 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 |
    +-----------------+
  4. 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 |
    +--------------------------------------+
  5. パスで指定されたオブジェクトが存在しません

    SELECT JSON_KEYS('{"a": 1, "b": {"c": 30}}', '$.c');
    +----------------------------------------------+
    | JSON_KEYS('{"a": 1, "b": {"c": 30}}', '$.c') |
    +----------------------------------------------+
    | NULL |
    +----------------------------------------------+