全部产品
Search
文档中心

云原生大数据计算服务 MaxCompute:JSON_EXISTS

更新时间:Jul 28, 2023

查看json_path对应的JSON值是否存在。

命令格式

boolean json_exists(<json>, <json_path>)

参数说明

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

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

说明

当json_path非法时会报错,当模式为strict时,如果结构不一致不会报错,返回false。

返回值说明

返回BOOLEAN类型的true或者false。

使用示例

  • 示例1:从JSON中查询key为a的value值是否存在。

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

    返回结果:

    +------+
    | _c0  |
    +------+
    | true |
    +------+
  • 示例2:从JSON中查询key为c的value值是否存在。

    select json_exists(json '[1,2, {"a":34}]', '$[2].a');

    返回结果:

    +------+
    | _c0  |
    +------+
    | true |
    +------+
  • 示例3:根据下标位置取回对应的values是否存在。

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

    返回结果:

    +------+
    | _c0  |
    +------+
    | false |
    +------+

相关函数

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