全部產品
Search
文件中心

MaxCompute:JSON_EXISTS

更新時間:Jun 19, 2024

查看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資料)的處理函數請參見複雜類型函數