如何在oracle中将xml转换为json?

时间:2017-06-21 10:21:50

标签: json xml oracle

如果我有

<xml><name>himasnhu</name><age>24</age></xml>  

我如何将其转换为

{"name":"himanshu","age":24} .

感谢。

2 个答案:

答案 0 :(得分:3)

在Oracle 12.2中,您应该可以使用:

SELECT JSON_OBJECTAGG( id VALUE text )
FROM   XMLTABLE(
         '/xml/*'
         PASSING XMLTYPE( '<xml><name>himanshu</name></xml>')
         COLUMNS id   VARCHAR2(200) PATH './name()',
                 text VARCHAR2(200) PATH './text()'
       );

我不在12c系统上,所以这是未经测试的。

在早期版本中,您可以使用众多[1]之一编写Java函数[2] Java JSON packages来执行转换,然后使用loadjava utility将其加载到数据库中(或CREATE JAVA statement),然后使用它。

答案 1 :(得分:-2)

您可以使用XML to JSON过滤器将XML文档转换为JavaScript Object Notation(JSON)文档。有关使用的映射约定的详细信息,请参阅:Github- Mapping convention

配置

要配置XML到JSON过滤器,请指定以下字段:

名称:

输入合适的名称以反映此过滤器的作用。

自动插入JSON数组边界:

选择此选项可尝试从传入的XML文档自动重建JSON数组。默认选择此选项。

[注] 如果传入的XML文档包含处理指令,则无论此选项设置如何,都会重建JSON数组。如果XML文档不包含,并且选择了此选项,则过滤器会尝试通过检查元素名称来猜测应该成为数组的一部分。