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

2023-12-25

如果我有

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

我怎样才能将它转换为

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

Thanks.


在 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 函数[1] https://stackoverflow.com/q/1823264/1509264 [2] https://stackoverflow.com/q/28451370/1509264使用众多之一Java JSON 包 http://www.json.org/执行转换,然后使用以下命令将其加载到数据库中loadjava utility https://docs.oracle.com/database/122/JJDEV/loadjava-tool.htm#JJDEV10060 (or a CREATE JAVA陈述 https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5012.htm)然后使用它。


更新:从表中获取数据

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;

Outputs:

JSON
{"name":"himasnhu","age":"24"}

fiddle https://dbfiddle.uk/4hiPakH-

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在oracle中如何将xml转换为json? 的相关文章

随机推荐

  • PHP中如何检查一个方法是否是静态的?

    我需要知道该方法是否在给定其名称和包含该方法的类的名称的情况下声明为静态 method exists提供true对于静态和非静态方法 下面是关于如何使用 ReflectionMethod 的更清晰的方法 MethodChecker new
  • Python 中的字符串反转

    我接受了一个整数输入并尝试在 Python 中反转它 但徒劳 我把它改成了字符串 但仍然不能 有什么办法可以逆转吗 有没有内置的功能 我无法将整数转换为列表 因此无法应用反向函数 您可以使用切片运算符来反转字符串 s hello world
  • nginx proxy_pass 通过 https_proxy

    我正在尝试使用此配置设置 nginx 要访问 backend mygreat server com 我必须通过我的公司代理 即 myproxy server com 80 因此 我将其添加到 etc environment 中 https
  • 如何获取最新的 Chrome(版本 55)以允许混合内容?

    我有一个 chrome 扩展 它在开发中使用 HTTP 进行通信 在生产中使用 HTTPS 进行通信 我从使用 HTTPS 的网页运行它 当我在开发模式下使用此扩展时 出现以下错误 混合内容 页面位于 https somesite com
  • FFmpeg 将 .mp3 输出保存到变量中

    在我的应用程序中 我想修改各种mp3 然后将它们混合在一起 我知道我可以在 FFmpeg 中使用单个命令行来完成此操作 但它最终可能会非常混乱 因为我需要在每个样本上使用各种过滤器 而我有五个过滤器 我的想法是单独编辑每个样本 将它们保存到
  • LDAP 服务器不可用

    我对此完全是新手 尝试连接到 LDAP 服务器PrincipalContext 我已经尝试了该网站上的所有解决方案 但均无济于事 我尝试过的事情 PrincipalContext insPrincipalContext new Princi
  • 更好的过滤集合模式

    我有一个名为Games我希望用户使用复选框来过滤集合 每次选中 取消选中复选框时 都会调用流星订阅来显示相应的内容Games 以下是订阅的示例 不是正确的 mongo 代码 region east west eu skill casual
  • YAJSW窗口服务未启动

    我有一个 Java 应用程序 我希望它作为窗口服务运行 为此我选择了 YAJSW 我已经使用我的 Java 进程 ID 运行了 GetConfig bat 并且它已生成配置文件 我已将用户名和密码放入配置文件中并运行 runConsole
  • R XTS to.mines5(),未按“I”预期进行转换

    您好 我正在将一些 1 分钟的数据转换为 5 分钟的数据 我发现第一次增量需要 4 分钟 然后继续执行 5 分钟的增量 我尝试过使用所有 indexAt 参数 但没有一个给我想要的 从 5 开始 然后是 10 15 20 等 我试过了 x5
  • 在2.0.0M1中安装Grails Spock插件

    我正在尝试 Grails 2 0 0M1 和 Springsource Tool Suite 2 7 1 但在安装 spock 插件时遇到问题 当我运行 grails install plugin spock 0 6 groovy 1 8
  • 如何在 Android 市场中从免费应用程序链接到付费应用程序?

    如果我在 Android 市场上有付费应用程序的免费版本 如何在免费应用程序中放置一个按钮来打开市场中的付费版本 更好的是使用 market details 而不是 market search Intent intent new Inten
  • 模拟器网络IP地址和虚拟路由器

    我在 Windows 上使用 Android 模拟器 Android 开发人员文档表示 模拟器的每个实例都在虚拟路由器 防火墙服务后面运行 每个实例的虚拟路由器管理 10 0 2 24 网络地址空间 但是 当我使用以下命令连接到模拟器时ad
  • 如何检查程序空闲时间而不是系统空闲时间?

    我有一个程序 偶尔需要递归地扫描一些目录 这部分程序的改进正在酝酿中 但暂时还没有准备好 为了避免用户必须等待此扫描 我希望尽可能在用户不使用我的程序时进行扫描 我打算通过运行一个检查空闲时间的计时器来实现它 我发现以下内容用于检查系统空闲
  • 带有递归的字符串排列

    我是一名java初学者 正在尝试从java编程书中进行字符串排列练习 我定义了两种方法 public static void displayPermutation String s public static void displayPer
  • 预留座位软件:C#即时抽取大量座位

    我正在使用 C 构建座位预订软件 但我很困惑如何立即抽取大量座位 我正在尝试三种方法 即 使用用户控件 public void DrawUsercontrol int x int y int space 4 int SeatLimit 16
  • 添加动态/通配符 FACEBOOK 有效的 OAuth 重定向 URI [重复]

    这个问题在这里已经有答案了 我希望能够在不同的子域上登录 Facebook 例如 www 123 mywebsite com www 456 mywebsite com 有办法实现这一点吗 而不是手动将它们一一添加 也许像通配符 例如 ww
  • 在文件中搜索多个字符串(来自文件)并打印该行

    再次为这里的菜鸟道歉 尝试下面的代码来搜索从关键字读取的多个字符串并搜索f并打印该行 如果我只有一个关键字 它会起作用 但如果我有多个关键字 它就不起作用 keywords input Please Enter keywords path
  • 从url下载文件,保存到手机存储

    我正在开发一个项目 该项目需要我在点击按钮后从 URL 下载文件 并将其存储到手机存储 可能是下载文件夹 关于如何做到这一点有什么想法吗 正在下载的文件也不总是相同的 可以是从图像到 pdf 的任何文件 Use https pub dart
  • 字符大小是 8 位还是 16 位?

    http docs oracle com javase tutorial java nutsandbolts datatypes html http docs oracle com javase tutorial java nutsandb
  • 在oracle中如何将xml转换为json?

    如果我有