如何在oracle apex中解析嵌套的json数据并将其存储在使用json表的oracle表中

时间:2018-08-07 10:33:47

标签: json oracle plsql oracle-apex

我有以下格式的json,现在我想解析此json并将结果存储到关系表中,并为行数组下的这些无列实体分配列名。

{
  "rowset": [
    {
      "row": [
        1,
        34,
        "mani"
      ]
    },
    {
      "row": [
        156,
        4,
        "nani"
      ]
    }
  ]
}

1 个答案:

答案 0 :(得分:0)

这是关于如何开始的第一个想法。 但是请记住,这里有大量的教程,stackoverflow可以帮助您解决问题,并且不要一个人为您解决

 DECLARE
        l_source VARCHAR2(200);
        l_blob blob := :body;
        l_clob clob;
        l_values apex_json.t_values;
        l_data_count integer;   
        l_var ...
        --LOOP VARS
        l_var2 ...

    BEGIN
        l_clob := wwv_flow_utilities.blob_to_clob(l_blob);
        apex_json.parse(
            p_values => l_values,
            p_source => l_clob
        );  
        l_data_count := apex_json.get_count (   
                            p_values => l_values,   
                            p_path  => 'nestedJSON' );   
        l_var := apex_json.get_varchar2 (   
                                    p_values => l_values,   
                                    p_path  => 'var');


       FOR i IN 1 .. l_data_count LOOP

          l_var2 := apex_json.get_varchar2(   
                    p_values => l_values,   
                    p_path  => 'nestedJSON[%d].var2',   
                    p0      => i);


           INSERT INTO table
               (var, var2)
           VALUES
               (l_var, l_var2);
       END LOOP;
    END;