有这样一个json串
{"viewdata":[{"city_id":"59","position_id":0,"qd_title":"网红打卡地","list_id":35},{"city_id":"...59","position_id":1,"qd_title":"看青山游绿水","list_id":37}]}
需要将json数组里的qd_title都提取出来转换成hive中的array数组。...下面介绍两种方法
法一get_json_object+正则
1.首先可以使用get_json_object函数,提取出数组,但是这个返回的是一个字符串
select get_json_object('{..."position_id":1,"qd_title":"看青山游绿水","list_id":327}]}',
'$.viewdata[*].qd_title')
-- 返回,注意这不是一个array数组...数组中每一个元素都是由{}保卫,由,分割,所以可以使用``},```对字符串进行拆分
-- event_attribute['custom'] 对应的就是上面的json字符串
split(event_attribute