zoukankan      html  css  js  c++  java
  • MaxCompute将json数组拆分成多行

    select
         GET_JSON_OBJECT(name_tmp,'$.val')      as val
        ,GET_JSON_OBJECT(name_tmp,'$.area')     as area
        ,GET_JSON_OBJECT(name_tmp,'$.setVal')   as setVal
        ,GET_JSON_OBJECT(name_tmp,'$.isExceed') as isExceed
    from (
        -- 删除前后的中括号并修改分隔符
        select 
            regexp_replace(regexp_replace(regexp_replace(json_str,'^\[',''),'\]$',''),'},\{','}|{') as json_str1
        from (
            select '[{"val":5,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":7,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":7,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":1,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":5,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":7,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":5,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":6,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":5,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":5,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":5,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""},{"val":6,"area":"测区1","setVal":"","isExceed":false,"isQualified":true,"x":"","y":""}]' as json_str
        ) t1
    ) t2
    lateral view explode(split(json_str1,'\|')) b AS name_tmp
    ;
    
    +------------+------------+------------+------------+
    | val        | area       | setval     | isexceed   | 
    +------------+------------+------------+------------+
    | 5          | 测区1        |            | false      | 
    | 7          | 测区1        |            | false      | 
    | 7          | 测区1        |            | false      | 
    | 1          | 测区1        |            | false      | 
    | 5          | 测区1        |            | false      | 
    | 7          | 测区1        |            | false      | 
    | 5          | 测区1        |            | false      | 
    | 6          | 测区1        |            | false      | 
    | 5          | 测区1        |            | false      | 
    | 5          | 测区1        |            | false      | 
    | 5          | 测区1        |            | false      | 
    | 6          | 测区1        |            | false      | 
    +------------+------------+------------+------------+
  • 相关阅读:
    微信小程序开发工具 POST net::ERR_PROXY_CONNECTION_FAILED 代理问题
    微信小程序 带参调用后台接口 循环渲染页面 wx.request wx:for
    三下乡感悟心得体会
    Mysql通过Adjacency List(邻接表)存储树形结构
    java的List中使用filter过滤出符合特定条件的元素List
    mybatis报表,动态列与查询参数+行列转换
    mysql行转列转换
    spring配置jackson不返回null值
    mybatis动态列名
    查出最新记录
  • 原文地址:https://www.cnblogs.com/chenzechao/p/12915747.html
Copyright © 2011-2022 走看看