1、get_json_object
格式:get_json_object(待解析的字段,‘.$要取的属性’)
eg:待解析的字符串: {“code”:“0001”,“dept”:“市场部”},分别获取code 和dept
select get_json_object('{"code":"0001","dept":"市场部"}','$.code') as code
,get_json_object('{"code":"0001","dept":"市场部"}','$.dept') as dept
输出结果
2、explode
解析列表形式的json
eg: [{“code”:“0001”,“dept”:“市场部”},{“code”:“0002”,“dept”:“运营部”}]
2.1、先去掉中括号
regexp_extract(字符串, ‘^\[(.+)\]$’)
2.2、将{}外的逗号分隔符置换成json数据中不存在的字符
replace(字符串,‘},’,‘}|’)
2.3、根据新置换的分隔符切分数据
split(字符串,“\|”)
select
get_json_object(a,'$.code') as code
,get_json_object(a,'$.dept') as dept
from table_name
lateral view explode(split(replace(regexp_extract('[{"code":"0001","dept":"市场部"},{"code":"0002","dept":"运营部"}]' , '^\\[(.+)\\]$'),'},','}|'),"\\|")) t as a
输出结果:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)