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      | 
    +------------+------------+------------+------------+
  • 相关阅读:
    .net framework v4.5.2
    sql数据库不允许保存更改和保存失败解决方法
    如何查看笔记本电脑型号
    Premiere 5.0/5 .5菜单详解
    Python编辑器英文菜单的中文翻译及解释
    SqlServer--常用数据查询
    pycharm上方菜单栏不见了如何恢复
    笔记本电脑的f1到f12怎么按
    C#的访问权限
    封装,继承和多态知识点汇总
  • 原文地址:https://www.cnblogs.com/chenzechao/p/12915747.html
Copyright © 2011-2022 走看看