json 转多行

时间:2021-04-21 11:55:30   收藏:0   阅读:0

json字段格式

{
    "a": {
        "10000": 11,
        "20000": 22
    },
    "b": {
        "10000": 14,
        "20000": 255
    }
}


with
     q as (
         select t.member_id,
                replace(t.prod_code, ‘"‘) as prod_code ,
                replace(replace(t.score_use, "{"), ‘}‘) as score_use
         from (
            select member_id,prod_code, score_use
            from (select member_id, extra_json from ods_tables)
                    lateral view explode(
                            str_to_map(
                                substr(extra_json, 2, length(extra_json) -2)
                                , ‘},"‘
                                )
                        ) t as prod_code, score_use
         ) t
     )
select q.member_id, tmp.gcode, tmp.score from q lateral view explode(str_to_map(q.score_use)) tmp as gcode,score
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!