如何在甲骨文中将 xml 转换为 json



如果我有

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

我怎样才能隐蔽它

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

谢谢。

在 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()'
       );

在早期版本中,您可以使用众多 Java JSON 包之一编写 Java 函数 [1] [2] 来执行转换,然后使用 loadjava 实用程序(或 CREATE JAVA 语句(将其加载到数据库中,然后使用该实用程序。

<小时 />

更新:从表中获取数据

SELECT JSON_OBJECTAGG( id VALUE text ) AS json
FROM   table_name t
       CROSS APPLY XMLTABLE(
         '/xml/*'
         PASSING XMLTYPE( t.xml )
         COLUMNS id   VARCHAR2(200) PATH './name()',
                 text VARCHAR2(200) PATH './text()'
       );

其中,对于示例数据:

CREATE TABLE table_name(xml) AS
  SELECT '<xml><name>himasnhu</name><age>24</age></xml>' FROM DUAL;

输出:

<样式>JSON
{"name":"himasnhu","age":"24"}
您可以使用 XML

到 JSON 筛选器将 XML 文档转换为 JavaScript 对象表示法 (JSON( 文档。有关使用的映射约定的详细信息,请参阅:Github- 映射约定

配置

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

名字:

输入合适的名称以反映此筛选器的角色。

自动插入 JSON 数组边界:

选择此选项可尝试从传入的 XML 文档自动重建 JSON 数组。默认情况下,此选项处于选中状态。

[注]如果传入的 XML 文档包含处理指令,则无论此选项设置如何,都会重新构造 JSON 数组。如果 XML 文档不包含 ,并且选择了此选项,则筛选器会尝试通过检查元素名称来猜测数组中应包含的内容。

最新更新