我需要在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只是为您释放了所有内容。

最好的祝福,

炖阿什顿

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

  1. 对象数组转成字符串数组 java_如何在Java中将对象数组转换为字符串数组

    如何在Java中将对象数组转换为字符串数组 我使用以下代码将Object数组转换为String数组: Object Object_Array[]=new Object[100]; // ... get ...

  2. scala字符串转int_如何在Scala中将十六进制字符串转换为int?

    scala字符串转int The hex string is also known as Hexadecimal Number String is a number created using hex ...

  3. 如何在Java中将字节数组转换为InputStream和OutputStream

    您是否坚持使用编码,因为您有字节数组,并且链中的下一个方法需要InputStream? 不用担心Java有解决方案,您可以使用 ByteArrayInputStream 在Java中将字节数组转换为I ...

  4. android 4.4 flac,如何在Android中将音频原始转换为FLAC

    我使用audioRecord类录制音频.现在我想将音频原始文件转换为* flac格式.我转换*原始文件为WAV下一方式:如何在Android中将音频原始转换为FLAC private void cop ...

  5. 如何在Java中将GIF图像转换为PNG等图像格式?试试Aspose

    通常,GIF图像用于描述动画.动画GIF是按特定顺序组合在一起的帧的集合.但是,在某些情况下,必须将GIF图像转换为其他光栅图像格式.对于这种情况,本文演示了如何使用Java将GIF图像转换为PNG, ...

  6. SpringMvc中将java对象转换为json数据的常用方式

    目录 1.写回json数据,使用JSOD的方法吧java数据转换为Json数据 2.写回到json,使用@ResponsetBody注解的方式将返回的对象直接转化为json字符串 3.返回list类型 ...

  7. dw html怎么导入视频,如何在dw中将视频插入

    如何在dw中将视频插入 电脑版Dreamweaver工具被很多人使用,用来编辑视频等,有的用户在使用该软件时,想要插入需要编辑的视频,但是却不知道如何插入,那么小编就来为大家介绍一下吧. 具体如下: ...

  8. 如何在Python中将一个字符串附加到另一个字符串?

    我想要一种有效的方法在Python中将一个字符串附加到另一个字符串. var1 = "foo" var2 = "bar" var3 = var1 + var2 ...

  9. scala 字符串转换数组_如何在Scala中将字节数组转换为字符串?

    scala 字符串转换数组 Byte Array in Scala is an array of elements of a byte type. String in Scala is a colle ...

最新文章

  1. iOS Category小举例
  2. 云计算软件生态圈:摸到一把大牌
  3. oracle+sid+未清除,管理信息化ORACLEoracle+DBA手册.pdf
  4. 十六进制转double
  5. edtext 从右边开始输入 安卓_转换iOS和安卓的视频至任何格式
  6. 大学计算机课程考试系统C语言题库,《大学计算机基础》考试题库(含答案).doc...
  7. 夺命雷公狗---微信开发09----玩转单图文消息回复
  8. vue项目中moment的使用(时间戳格式化)
  9. IOS PhoneGap项目调用NATIVE
  10. pathway一些网站
  11. 连载IT小说《失业的程序员》讲述一个Android开发者的奋斗史
  12. 网络工程师十个常见面试问题
  13. php 货币换算,PHP货币换算程序代码
  14. PHP 判断一个数是否是质数
  15. 计算机思维在生活中的应用,孩子必备的计算机思维,如何从生活中培养?
  16. 带你快速看完9.8分神作《Effective Java》—— 并发篇(工作里的这些坑你都遇到过吗?)
  17. 知道注册电子邮件的方法么?今天就告诉你邮箱申请免费注册的方法!
  18. 基于韦东山视频 regulator 学习笔记
  19. vue移动端h5中a标签下载/预览文件
  20. DataSciComp 有关数据科学的比赛

热门文章

  1. Neo4j Backup:在Mark Needham上存储副本和一致性检查
  2. Java 8:开发人员怎么看?
  3. 使用JPA和Hibernate有效删除数据
  4. Java方法中的参数太多,第4部分:重载
  5. 使用签名保护基于HTTP的API
  6. 无需重新部署Eclipse和Tomcat即可进行更改
  7. 更换mysql_安利给你,关于MySQL字符集乱码与解决方案
  8. 用于zsh的高亮插件 zsh-syntax-highlighting
  9. Java软件项目开发命名规范_命名规则
  10. 造完家怎么拆东西_地弹簧玻璃门怎么拆?地弹簧玻璃门拆除注意事项有哪些?...