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