首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Oracle10g中将JSON转换为XML

如何在Oracle10g中将JSON转换为XML
EN

Stack Overflow用户
提问于 2020-11-30 18:22:19
回答 1查看 404关注 0票数 0

我在Oracle10g上工作,可以使用内置函数处理XML文档,但不能使用JSON数据类型,因为据我所知,这只能从Oracle12c开始。除了安装APEX_JSON包之外,这里有没有人能用plsql或者其他方法把JSON转换成XML,最终把XML转换成JSON?因为每当我必须将外部JSON文件加载到CLOB列中时,我都必须将其转换为XML,以便使用Oracle10g中的XML内置函数进行管理。

提前感谢!

标记

EN

回答 1

Stack Overflow用户

发布于 2020-11-30 18:40:14

您可以使用pljson包来解析JSON数据。

例如,this question给出了如何使用pljson包解析JSON和提取值的示例。如下所示:

代码语言:javascript
运行
复制
DECLARE
  obj pljson := pljson(
    '{
      "DASHBOARD": {
        "userUid": "",
        "DATA_DASHBOARD": [
          {
            "CLE": "TESTTEST",
            "X": "",
            "Y": "",
            "COL": "",
            "ROW": "",
            "CLASSCOLOR": "",
            "COLORS": ["df","df"],
            "REGROUPEMENT_ID": "",
            "REGROUPEMENT_TEXT": "",
            "REGROUPEMENT_CLASSCOLOR": "",
            "REGROUPEMENT_X": "",
            "REGROUPEMENT_Y": "",
            "REGROUPEMENT_COL": "",
            "REGROUPEMENT_ROW": "",
            "REGROUPEMENT_COLORS": ["d","df"]
          }
        ]
      }
    }'
  );
  test varchar2(255);
  arr  pljson_list;
BEGIN
  test := pljson_ext.get_string( obj, 'DASHBOARD.DATA_DASHBOARD[1].REGROUPEMENT_COLORS[1]');
  DBMS_OUTPUT.PUT_LINE(test);
  arr := pljson_ext.get_json_list( obj, 'DASHBOARD.DATA_DASHBOARD[1].REGROUPEMENT_COLORS');
  arr.print;
  FOR i IN 1 .. arr.COUNT LOOP
    DBMS_OUTPUT.PUT_LINE( arr.get_string(i) );
  END LOOP;
END;
/

(注意:对象/包具有pl前缀,因为db<>fiddle不允许创建同义词;如果您的实现创建了适当的同义词,则应该能够删除这些前缀。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65071745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档