hive 数组json解析
数据:’[{a:1,b:1},{a:2,b:2},{f:6,k:7}]’
sql1:
select
case when ss.col regexp ‘^\{’ and not...as col ;
结果如下:
{a:1,b:1}
{a:2,b:2}
{f:6,k:7}
操作详解:
1.regexp_extract(a.appinfo,’^\[(.+)\]$’,1) 替换掉中括号...2.split函数拆分成数组,分隔符为’\}\,\{’,其实就是},{
3.lateral view explode 行转列
4.使用},{为分隔符,补全前后缺失的{和}
get_json_object...函数:
select get_json_object(’{“bssid”:“6C:59:40:21:05:C4”,“ssid”:“MERCURY_05C4”}’,’$.bssid’) as bssid...from dual;
运行结果:
bssid
6C:59:40:21:05:C4
json_tuple函数:
select json_tuple(’{“bssid”:“6C:59:40:21: