首页 > 解决方案 > 使用 Oracle SQL 解析 Json

问题描述

我正在尝试在 Oracle SQL 中解析 JSON。

Oracle 数据库版本 12.1.0.2

{
 "Rownum": "1",
 "Name": "John",
 "AddressArray":["Address1", "Address2"],
 "TextObj":[{
             "mName" : "Carol",
             "lName" : "Cena"
            },
            {
             "mName" : "Mark",
             "lName" : "Karlo"
            }
           ]
}

输出应如下所示:

在此处输入图像描述

标签: sqloracleplsql

解决方案


我想“嵌套”可以解决问题

select * from json_Table('{"Rownum": "1", "Name": "John", "AddressArray":["Address1", "Address2"], "TextObj":[{"mName" : "Carol","lName" : "Cena",}]}', '$' columns (rownr number path '$.Rownum',
                                            name varchar2(100) path '$.Name',
                                            mName varchar2(100) path '$.TextObj[*].mName',
                                            lName varchar2(100) path '$.TextObj[*].lName',
                                            nested path '$.AddressArray[*]' columns(AddressArray varchar2(100) path '$') 
                                           ));

我的输出:

ROWNR 姓名 名称 名称 地址数组
1 约翰 颂歌 塞纳 地址1
1 约翰 颂歌 塞纳 地址2

推荐阅读