json字符串导入oracle,如何在Oracle中将JSON字符串转换为JSON

我需要在Oracle查询中将JSON字符串转换为JSON。

示例字符串:

{"1":{"qid":1,"aid":1,"a":"Yes","isdyn":0},"2":{"qid":2,"aid":7,"a":"sdfbsjkb","isdyn":1},"3":{"qid":2,"aid":7,"a":"sdfbsjkb","isdyn":1}}

然后将其存储在具有有效JSON约束的Oracle列表中。

如何在Oracle中做同样的事情,最好的方法是什么?

你读过这个吗

现在浏览此页面,谢谢分享。

Oracle本身没有任何意义。 甚至Oracle 12c也没有任何意义。 您的完整版本号是多少? 答案可能取决于此。

Oracle Database 12c企业版12.1.0.2.0版-64位

使用REPLACE删除引号前的那些反斜杠。 然后,您可以将它们插入表中并将其存储为普通JSON。

CREATE TABLE t_json (

id         INTEGER

GENERATED ALWAYS AS IDENTITY,

json_col   CLOB

CONSTRAINT ensure_json CHECK ( json_col IS JSON ) --Is a valid json

);

INSERT INTO t_json ( json_col )

SELECT replace('{"1":{"qid":1,"aid":1,"a":"Yes","isdyn":0},"2":{"qid":2,"aid":7,"a":"sdfbsjkb","isdyn":1},"3":{"qid":2,"aid":7,"a":"sdfbsjkb","isdyn":1}}'

,'"','"')

FROM dual;

1 row inserted.

访问元素

select t.json_col."1".a from t_json t;

A

----

Yes

但是,使用相同的方法,如果实际JSON中有特殊字符,如"a":"Yes\#",那么\#也需要替换为#。 我认为,当JSON对象转换为JSON字符串时,会附加每个特殊字符。 因此,逻辑将类似于replace(\ any special character,any special character)。 请提出建议。

@Tajinder:您的问题更多是关于如何转换字符串而不是转换为JSON。 这个问题回答了您原来的问题。 您可以尝试REGEXP_REPLACE( "a":"Yes\#" ,\\(["#]),\1)用字符本身替换任何后跟反冲的内容。 如果您还有更多要更换/修改的东西,请尝试提出一个单独的问题,并提供适当的详细信息。如果认为有帮助,可以接受此答案。

如果问题不清楚,我们很抱歉。 问题中给出的字符串只是一个例子。 希望现在很清楚。 我也编辑了问题。 您可以检查并提出建议。

with input as ( select

'{"1":{"qid":1,"aid":1,"a":"Yes","isdyn":0},"2":{"qid":2,"aid":7,"a":"sdfbsjkb","isdyn":1},"3":{"qid":2,"aid":7,"a":"sdfbsjkb","isdyn":1}}'

txt

from dual

)

select json_value(

'["' || txt || '"]',

'$[0]'

error on error

) json_txt

from input;

{"1":{"QID":1,"助剂":1,"A":"是","isdyn":0},"2":{"QID":2"援助":7,"一个":"sdfbsjkb","isdyn":1},"3":{"QID":2"援助":7,"一个":"sdfbsjkb","isdyn":1}}

JSON_VALUE只是为您释放了所有内容。

最好的祝福,

炖阿什顿

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344363.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring roo_使用Spring Roo进行概念验证

spring roo在Keyhole工作期间,我参与了许多项目,其中客户要求我们重写旧系统,同时保留其现有数据库。 有时,它有助于快速演示如何使用当前技术来简化开发,测试和维护其代码。 我发现可以创建一个快速示例(…

【渝粤教育】电大中专药物分析技术基础作业 题库

1.《中国药典》规定“称定”时,指称取重量应准确至所取重量的 A.10% B.1.95~2.05g C.百分之一 D.1.5~2.5g E.千分之一 错误 正确答案:左边查询 学生答案:未作答 2.2℃~10℃指 A.密闭 B.密封 C.阴凉处 D.冷处…

oracle虚拟机怎么装系统,Virtualbox怎么安装系统 VirtualBox虚拟机安装Win8系统教程 (3)...

三、对新建的虚拟机做重要的设定:1、在Oracle VM VirtualBox里面点击下刚才建好的虚拟机,然后点下上面的黄色图标“设置”,或者右键菜单里面点击设置也可以(快捷键是CtrlS)Oracle VM VirtualBox虚拟机设置2、在出来的设置页面里面&#xff0c…

JDK 12的Files.mismatch方法

JDK 12向Files类引入了一种新方法。 方法Files.mismatch(Path,Path)已通过JDK-8202302引入JDK 12,并在JDK 12 Early Access Build 20 (支持新{systemProperty} Javadoc标记的相同早期访问版本)中可用 。 JDK-8202302 [“用于比较文件的&…

【渝粤教育】电大中专计算机网络基础 (2)作业 题库

1通信中产生和发送信息的一端叫做()。 A信源 B信宿 C信道 D噪声 正确 正确答案:左边查询 学生答案:A 2通信中接收信息的一端叫做()。 A信源 B信宿 C信道 D噪声 正确 正确答案:左边查询 学生答案…

oracle xe gentoo,Oracle在gentoo下安装

补充:解决ORACLE10G安装界面中文乱码问题,修改以下变量使安装界面为英文。export LC_CTYPEen_US.UTF-8以下为原文1.OS:Gentoo-linux-2.6.23-rc5Oracle:Oracle Database 10g Release 2 (10.2.0.1.0) for Linux x86下载地址:2.使用管理员账户建立Oracle用户…

【渝粤教育】电大中专跨境电子商务理论与实务 (11)作业 题库

1.在按照交易主体类型中,( )面对的最终客户为企业或集团客户,提供企业、产品、服务等相关信息。 A.O2O跨境电商或平台 B.B2B跨境电商或平台 C.B2C跨境电商或平台 D.C2C跨境电商或平台 错误 正确答案:左边查询 学生答案…

【渝粤题库】陕西师范大学209041 金融工程学 作业(专升本)

《金融工程学》作业 一、选择题 1.证券投资收益最大化和风险最小化这两个目标( ). A.可以同时实现; B.是一致的; C.是相互冲突的; D.大多数情况下可以同时实现. 2.金融工程中,通常用( &#xff…

php 排序不影响索引,为什么不能通过索引避免排序操作呢??

谢谢各位的回复,尤其是棉花糖ONE!忘了说了,我的数据库版本是:10.2.0.4 的刚才做了一个10053事件.CASE WHEN STOCK_NUM>0 THEN 1 ELSE 0 END1 确实被重写成了STOCK_NUM>0.在这种情况下:SELECT * FROM(select /* INDEX(zsj_test) */pricefrom zsj_testwhere productnamerpa…

redis简单队列java_使用Redis的简单消息队列

redis简单队列java在本文中,我们将使用列表命令将Redis用作简单的消息队列。 假设我们有一个允许用户上传照片的应用程序。 然后在应用程序中,我们以不同大小显示照片,例如Thumb,Medium和Large。 在第一个实现中,我们…

【渝粤题库】陕西师范大学700002 细胞生物学

《细胞生物学》作业 一、名词解释 1.细胞学说   2.原位杂交    3.细胞通讯   4.核纤层 5.早熟染色体凝集 6.细胞识别    7.细胞分化    8…

【渝粤教育】电大中专Office办公软件 (2)_1作业 题库

1学习好Office办公软件这门课程,应该()。 A重视理论学习 B重视上机操作,多练多试,还要学习好基础的知识 C只看不练 D可以随便学习一下 正确 正确答案:左边查询 学生答案:B 2在使用Office2016时遇…

oracle 群集 无存储,存储的群集注意事项 - Oracle® ZFS Storage Appliance 管理指南

存储的群集注意事项为了在群集中使用而对 Oracle ZFS Storage Appliance 进行大小调整时,另有两个非常重要的注意事项。或许最重要的决定是将所有存储池的所有权分配给同一机头还是在两个机头之间分割。此处有几点要加以权衡,如下表中所示。一般来说&…

JMetro 5.2版发布

再一次问好 JMetro的新更新刚刚发布。 添加了两种新的控件样式:“标题窗格”和“手风琴”。 此外,还对现有样式和错误修复进行了调整。 最终,JMetro现在也可以通过Maven Central获得。 在本文中,我将详细介绍刚刚发布的JMetro 5…

【渝粤教育】电大中专Office办公软件 (2)作业 题库

1.一个汉字在存储时,占据( )个字节的存储空间。 A.1 B.2 C.4 D.3 错误 正确答案:左边查询 学生答案:A 2.学习好Office办公软件这门课程,应该( )。 A.可以随便学习一下 B.只看不练 C.…

【渝粤教育】电大中专Windows操作系统_1作业 题库

学习好Windows10应用这门课程,应该()。 A重视理论学习 B重视上机操作,多练多试 C只看不练 D可以随便学习一下 正确 正确答案:左边查询 学生答案:B 2在使用Windows时遇到困难,(&#…

【渝粤教育】电大中专会计基础_1作业 题库

1衡量不同单位经营业绩,最直接、最有效的方法是选取( )进行计量。 A货币 B实物 C时间 D劳动 错误 正确答案:左边查询 学生答案:B 2下列属于会计对经济活动的合法性进行审查的是,各项经济活动是否&#xff…

oracle tsn文件,无法启动OracleOraDB10g_home1TSNListener服务

监听无法启动原因之一:增加下面红色字体内容,建议本机上使用HOST 127.0.0.1# listener.ora Network Configuration File: d:\oracle\product\10.2.0\db_1\network\admin\listener.ora# Generated by Oracle configuration tools.SID_LIST_LISTENER (SID…

【渝粤教育】电大中专办公设备使用与维护作业 题库

1以下哪个不是现代办公硬件需求的主要依赖()。 A扫描仪 B计算机 C办公桌 D打印机 错误 正确答案:左边查询 学生答案:B 2现代办公设备可分为计算机、通信()三大类。 A电子工具 B办公机械 C路由器 D碎纸机 错…

在JDK 9(以及8)以及更高版本中,所有内容都可以作为一个流

在JDK 8中&#xff0c;我们终于可以使用流了&#xff0c;除了您使用的API无法产生流的时代之外&#xff0c;其他一切都很好。 然后&#xff0c;您最终编写了一个包装器类方法&#xff0c;该方法允许您将迭代器转换为Stream&#xff0c;因为您错过了流。 public static <T&g…