是否可以在Oracle11g中用JSON而不是XML输出数据

是否可以在Oracle11g中用JSON而不是XML输出数据,json,xml,oracle,oracle11g,Json,Xml,Oracle,Oracle11g,我目前有一个使用PL/SQL构建的API,它使用Oracle 11g。它当前以XML格式输出数据。我的任务是将此输出转换为JSON。Oracle 11g甚至可以做到这一点吗?我一直在研究web,我发现JSON支持直到Oracle 12c才出现。是否有一种方法可以将此API的输出从XML转换为JSON。感谢您的帮助。谢谢 以下是我当前的XML输出: <?xml version="1.0"?> -<items> -<CAGE_INFO> <

我目前有一个使用PL/SQL构建的API,它使用Oracle 11g。它当前以XML格式输出数据。我的任务是将此输出转换为JSON。Oracle 11g甚至可以做到这一点吗?我一直在研究web,我发现JSON支持直到Oracle 12c才出现。是否有一种方法可以将此API的输出从XML转换为JSON。感谢您的帮助。谢谢

以下是我当前的XML输出:

<?xml version="1.0"?>
-<items>
  -<CAGE_INFO>
       <CAGE_CODE>21356</CAGE_CODE>
       <ORG_NAME_ABBR>NASAJSC</ORG_NAME_ABBR>
       <ORGANIZATION_NAME>NASA/ LYNDON B JOHNSON SPACE CENTER</ORGANIZATION_NAME>
   </CAGE_INFO>
</items>

直接转换可能很困难。相反,您可以使用
XMLTYPE
首先解析XML,然后将其转换为JSON。到JSON的转换可以是一段自定义代码,或者如果在DB实例上安装了APEX,那么可以查看
APEX\u JSON
包。 有关Oracle中
XMLTYPE
的说明,请查看此文档


我想这取决于你所说的“转换”是什么意思

  • 如果您字面上的意思是convert,并且正在寻找一个接受任意XML并返回JSON的工具,那么编写这个工具将是一项艰巨的工作。我不知道可能已经有人这么做了
  • 如果您只需要JSON中的输出,您可以找到生成XML的地方并重写它(我假设它由一个或多个SQL查询支持),然后调用生成JSON的PL/SQL包。我的第一站是library和JSON_UTIL_PKG
  • 或者,使用生成XML的函数并重写它,通过字符串操作构造JSON。毕竟,JSON只是格式化文本。我以前做过,如果你的需求很简单,这可能是最快的方法

  • 您可能想探索PL/JSON包](),我相信它有一个将XML转换为JSON的模块。;尽管您可能希望使用它从底层数据生成JSON。
    {
    "items": {
      "CAGE_INFO": {
         "CAGE_CODE": "21356",
         "ORG_NAME_ABBR": "NASAJSC",
         "ORGANIZATION_NAME": "NASA/ LYNDON B JOHNSON SPACE CENTER"
      }
     }
    }