str_to_map使用

表字段中jsonStr是一个json格式的字符串,类似于map结构。{"name”:"king", "age":18, "score":99}

使用str_to_map可以转化为map结构。

str_to_map(regexp_replace(regexp_replace(regexp_replace(jsonStr,'\"',''),'\\{',''),'\\}',''), ',', ':') as json_map,

 

如果jsonStr是控制,则需要使用if添加判断

if(jsonStr is null or jsonStr = '',map(),str_to_map(regexp_replace(regexp_replace(regexp_replace(jsonStr,'\"',''),'\\{',''),'\\}',''), ',', ':')) as json_map,

 针对map结构的解析成多行形式

select pk_day,x_k,x_v
from tmp_b 
lateral view outer explode(json_map) x as x_k,x_v

 

posted @ 2021-08-21 14:15  硅谷工具人  阅读(2055)  评论(0编辑  收藏  举报
成功之道,在于每个人生阶段都要有不同的目标,并且通过努力实现自己的目标,毕竟人生不过百年! 所有奋斗的意义在于为个人目标实现和提升家庭幸福,同时能推进社会进步和国家目标! 正如古人讲的正心诚意格物致知,修身齐家治国平天下。