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      | 
    +------------+------------+------------+------------+
  • 相关阅读:
    重温 JSP 与 Servlet
    Web/Java Web项目如何模块化?没有正文,别点
    Struts2 In Action笔记_页面到动作的数据流入和流出
    SQL小知识_长期总结
    Java代码工具箱_用Set给List/Vector去重
    Oracle小知识_长期总结
    样式缩写——css技巧(一)
    CSS中强大的EM
    人生苦短,我用python!
    15个超级实用的jQuery插件
  • 原文地址:https://www.cnblogs.com/chenzechao/p/12915747.html
Copyright © 2011-2022 走看看