这样进行Split(case_role,';')后使用get_json_object取对应字段即可
第一步转换:
explode(split(regexp_replace(regexp_replace(case_role, '\\[|\\]',''),'\\}\\,\\{','\\}\\;\\{'),'\\;')) as case_role
regexp_replace(case_role, '\\[|\\]','')去掉[]
regexp_replace(regexp_replace(case_role, '\\[|\\]',''),'\\}\\,\\{','\\}\\;\\{')
将JSON间的逗号替换成;
第二步取值
get_json_object(a.case_role,'$.R') as case_role
最终SQL
select
a.company_name
,get_json_object(a.case_role,'$.R') as case_role
SELECT
,company_name
,explode(split(regexp_replace(regexp_replace(case_role, '\\[|\\]',''),'\\}\\,\\{','\\}\\;\\{'),'\\;')) as case_role