[发明专利]Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质有效
申请号: | 201810107784.6 | 申请日: | 2018-02-02 |
公开(公告)号: | CN108334609B | 公开(公告)日: | 2020-04-07 |
发明(设计)人: | 王可佳;郑丽霞;何超 | 申请(专利权)人: | 蜂助手股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/25;G06F16/28 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 王会龙 |
地址: | 510635 广东省广州市天河区龙*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | oracle 实现 json 格式 数据 存取 方法 装置 设备 存储 介质 | ||
本发明公开了一种Oracle中实现JSON格式数据存取的方法,包括以下步骤:读取JSON数据及所述JSON数据的待读取的键;在所述JSON数据中获取所述待读取的键的位置,标记为第一索引位置;根据所述第一索引位置获取位于所述第一索引位置后的第一个标记字符“:”的位置,并标记为第二索引位置;对所述JSON数据的所述第二索引位置后的字符进行遍历,直至在遍历过程中检测到的关键字符都成对出现;根据所述关键字符的位置,获取与待读取的键对应的值。本发明还公开了一种Oracle中实现JSON格式数据存取的装置、设备及计算机可读存储介质,可在Oracle中实现JSON格式数据的便捷存取。
技术领域
本发明涉及数据库领域,尤其涉及一种Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质。
背景技术
在互联网的大开发环境下,JSON作为一种轻量级的、友好的Web services客户端的格式被广泛应用;Oracle数据库产品在数据库行业占有很大的份额,相对于2013年6月才发布的Oracle12c,其中Oracle11g、Oracle10g、Oracle9i等占有绝大份额;遗憾的是Oracle11g以及较前版本并没有支持JSON数据格式的方案。
当前支持JSON数据格式的方案有Json_ext库以及附属的其他库(在下文统一以Json_ext库作为名称)。在转换时候采用的方法是:先将结果数据按XSL模板,转换成XML数据格式,再从XML格式中将数据提取转换成JSON格式。其数据存取和转换路径如下:字符串/数字->XLS->XML->自定义的JSON->字符串/数字。
但发明人在实施本发明的过程中发现,当前方案至少存在如下缺陷:
1.Json_ext库内部实现引用了XLS模板和XML格式,格式转换冗长;
2.Json_ext库以及附属库较多,代码冗余,内部调用复杂,难以维护;
3.Json_ext库的JSON数据转换速度慢,在较大数据量的环境下尤为明显;
4.Json_ext库调用时,占有的Oracle数据库资源较多,难以应对互联网环境的高并发需求;
5.Json_ext库在处理未知的数据格式或特殊字符时,会出现异常;
发明内容
针对上述问题,本发明的目的在于提供一种Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质,在Oracle中实现JSON格式数据的便捷、快速以及高效的存储以及读取。
本发明实施例提供了一种Oracle中实现JSON格式数据存取的方法,包括以下步骤:
读取JSON数据及所述JSON数据的待读取的键;
在所述JSON数据中获取所述待读取的键的位置,标记为第一索引位置;
根据所述第一索引位置获取位于所述第一索引位置后的第一个标记字符“:”的位置,并标记为第二索引位置;
对所述JSON数据的所述第二索引位置后的字符进行遍历,直至在遍历过程中检测到的关键字符都成对出现;
根据所述关键字符的位置,获取与待读取的键对应的值。
优选地,所述关键字符包括:“{”及与“{”构成一对的“}”,“[”及与“[”构成一对的“]”,“”。
优选地,在读取JSON数据及所述JSON数据的待读取的键之前,还包括:
判断JSON数据是否满足JSON标准格式。
优选地,当所述JSON数据为JSON对象数组时,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蜂助手股份有限公司,未经蜂助手股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810107784.6/2.html,转载请声明来源钻瓜专利网。