JSON_EXTRACT

解析JSON表达式中对应json_path的数据,注意json_path非法时会报错。

命令格式

json json_extract(<json>, <json_path>)

参数说明

  • json:必填,待处理的JSON。

  • json_path:必填,需要返回的值的JSON路径。

返回值说明

返回JSON类型。

使用示例

  • 示例1:从JSON中获取key为a的value值。

    select json_extract(json '{"a":1, "b":2}', '$.a');

    返回结果:

    +-----+
    | _c0 |
    +-----+
    | 1   |
    +-----+
  • 示例2:当JSON值不存在时,返回NULL。

    select json_extract(json '{"a":1, "b":2}', 'strict $.c');

    返回结果:

    +-----+
    | _c0 |
    +-----+
    | NULL |
    +-----+
  • 示例3:JSON Path格式非法时,返回报错信息Invalid argument - Param json path $invalid_json_path is invalid

    select json_extract(json '{"a":1, "b":2}', '$a');

    返回结果:

    --返回报错信息
    Invalid argument - Param json path $invalid_json_path is invalid

相关函数

JSON_EXTRACT函数属于复杂类型函数,更多对复杂类型数据(例如ARRAY、MAP、STRUCT、JSON数据)的处理函数请参见复杂类型函数