[發(fā)明專利]Oracle中實(shí)現(xiàn)JSON格式數(shù)據(jù)存取的方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 201810107784.6 | 申請(qǐng)日: | 2018-02-02 |
| 公開(kāi)(公告)號(hào): | CN108334609B | 公開(kāi)(公告)日: | 2020-04-07 |
| 發(fā)明(設(shè)計(jì))人: | 王可佳;鄭麗霞;何超 | 申請(qǐng)(專利權(quán))人: | 蜂助手股份有限公司 |
| 主分類號(hào): | G06F16/22 | 分類號(hào): | G06F16/22;G06F16/25;G06F16/28 |
| 代理公司: | 廣州三環(huán)專利商標(biāo)代理有限公司 44202 | 代理人: | 王會(huì)龍 |
| 地址: | 510635 廣東省廣州市天河區(qū)龍*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | oracle 實(shí)現(xiàn) json 格式 數(shù)據(jù) 存取 方法 裝置 設(shè)備 存儲(chǔ) 介質(zhì) | ||
本發(fā)明公開(kāi)了一種Oracle中實(shí)現(xiàn)JSON格式數(shù)據(jù)存取的方法,包括以下步驟:讀取JSON數(shù)據(jù)及所述JSON數(shù)據(jù)的待讀取的鍵;在所述JSON數(shù)據(jù)中獲取所述待讀取的鍵的位置,標(biāo)記為第一索引位置;根據(jù)所述第一索引位置獲取位于所述第一索引位置后的第一個(gè)標(biāo)記字符“:”的位置,并標(biāo)記為第二索引位置;對(duì)所述JSON數(shù)據(jù)的所述第二索引位置后的字符進(jìn)行遍歷,直至在遍歷過(guò)程中檢測(cè)到的關(guān)鍵字符都成對(duì)出現(xiàn);根據(jù)所述關(guān)鍵字符的位置,獲取與待讀取的鍵對(duì)應(yīng)的值。本發(fā)明還公開(kāi)了一種Oracle中實(shí)現(xiàn)JSON格式數(shù)據(jù)存取的裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可在Oracle中實(shí)現(xiàn)JSON格式數(shù)據(jù)的便捷存取。
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫(kù)領(lǐng)域,尤其涉及一種Oracle中實(shí)現(xiàn)JSON格式數(shù)據(jù)存取的方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù)
在互聯(lián)網(wǎng)的大開(kāi)發(fā)環(huán)境下,JSON作為一種輕量級(jí)的、友好的Web services客戶端的格式被廣泛應(yīng)用;Oracle數(shù)據(jù)庫(kù)產(chǎn)品在數(shù)據(jù)庫(kù)行業(yè)占有很大的份額,相對(duì)于2013年6月才發(fā)布的Oracle12c,其中Oracle11g、Oracle10g、Oracle9i等占有絕大份額;遺憾的是Oracle11g以及較前版本并沒(méi)有支持JSON數(shù)據(jù)格式的方案。
當(dāng)前支持JSON數(shù)據(jù)格式的方案有Json_ext庫(kù)以及附屬的其他庫(kù)(在下文統(tǒng)一以Json_ext庫(kù)作為名稱)。在轉(zhuǎn)換時(shí)候采用的方法是:先將結(jié)果數(shù)據(jù)按XSL模板,轉(zhuǎn)換成XML數(shù)據(jù)格式,再?gòu)腦ML格式中將數(shù)據(jù)提取轉(zhuǎn)換成JSON格式。其數(shù)據(jù)存取和轉(zhuǎn)換路徑如下:字符串/數(shù)字->XLS->XML->自定義的JSON->字符串/數(shù)字。
但發(fā)明人在實(shí)施本發(fā)明的過(guò)程中發(fā)現(xiàn),當(dāng)前方案至少存在如下缺陷:
1.Json_ext庫(kù)內(nèi)部實(shí)現(xiàn)引用了XLS模板和XML格式,格式轉(zhuǎn)換冗長(zhǎng);
2.Json_ext庫(kù)以及附屬庫(kù)較多,代碼冗余,內(nèi)部調(diào)用復(fù)雜,難以維護(hù);
3.Json_ext庫(kù)的JSON數(shù)據(jù)轉(zhuǎn)換速度慢,在較大數(shù)據(jù)量的環(huán)境下尤為明顯;
4.Json_ext庫(kù)調(diào)用時(shí),占有的Oracle數(shù)據(jù)庫(kù)資源較多,難以應(yīng)對(duì)互聯(lián)網(wǎng)環(huán)境的高并發(fā)需求;
5.Json_ext庫(kù)在處理未知的數(shù)據(jù)格式或特殊字符時(shí),會(huì)出現(xiàn)異常;
發(fā)明內(nèi)容
針對(duì)上述問(wèn)題,本發(fā)明的目的在于提供一種Oracle中實(shí)現(xiàn)JSON格式數(shù)據(jù)存取的方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),在Oracle中實(shí)現(xiàn)JSON格式數(shù)據(jù)的便捷、快速以及高效的存儲(chǔ)以及讀取。
本發(fā)明實(shí)施例提供了一種Oracle中實(shí)現(xiàn)JSON格式數(shù)據(jù)存取的方法,包括以下步驟:
讀取JSON數(shù)據(jù)及所述JSON數(shù)據(jù)的待讀取的鍵;
在所述JSON數(shù)據(jù)中獲取所述待讀取的鍵的位置,標(biāo)記為第一索引位置;
根據(jù)所述第一索引位置獲取位于所述第一索引位置后的第一個(gè)標(biāo)記字符“:”的位置,并標(biāo)記為第二索引位置;
對(duì)所述JSON數(shù)據(jù)的所述第二索引位置后的字符進(jìn)行遍歷,直至在遍歷過(guò)程中檢測(cè)到的關(guān)鍵字符都成對(duì)出現(xiàn);
根據(jù)所述關(guān)鍵字符的位置,獲取與待讀取的鍵對(duì)應(yīng)的值。
優(yōu)選地,所述關(guān)鍵字符包括:“{”及與“{”構(gòu)成一對(duì)的“}”,“[”及與“[”構(gòu)成一對(duì)的“]”,“”。
優(yōu)選地,在讀取JSON數(shù)據(jù)及所述JSON數(shù)據(jù)的待讀取的鍵之前,還包括:
判斷JSON數(shù)據(jù)是否滿足JSON標(biāo)準(zhǔn)格式。
優(yōu)選地,當(dāng)所述JSON數(shù)據(jù)為JSON對(duì)象數(shù)組時(shí),還包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于蜂助手股份有限公司,未經(jīng)蜂助手股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810107784.6/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 一種Oracle監(jiān)控系統(tǒng)
- oracle數(shù)據(jù)庫(kù)訪問(wèn)方法
- 一種Oracle的自動(dòng)化定制安裝部署方法
- 一種Oracle單機(jī)一鍵自動(dòng)部署方法
- 一種Oracle和Tomcat組合一鍵自動(dòng)部署方法
- 一種Oracle數(shù)據(jù)庫(kù)自動(dòng)部署工具及方法
- 一種部署OracleRAC的方法及裝置
- 基于日志解析的源端Oracle數(shù)據(jù)庫(kù)DDL同步方法及設(shè)備
- 一種無(wú)認(rèn)證的Oracle版本探測(cè)的方法
- 用于Oracle數(shù)據(jù)庫(kù)的排障策略生成方法裝置、處理器和存儲(chǔ)介質(zhì)
- 互動(dòng)業(yè)務(wù)終端、實(shí)現(xiàn)系統(tǒng)及實(shí)現(xiàn)方法
- 街景地圖的實(shí)現(xiàn)方法和實(shí)現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實(shí)現(xiàn)裝置及其圖像實(shí)現(xiàn)方法
- 增強(qiáng)現(xiàn)實(shí)的實(shí)現(xiàn)方法以及實(shí)現(xiàn)裝置
- 軟件架構(gòu)的實(shí)現(xiàn)方法和實(shí)現(xiàn)平臺(tái)
- 數(shù)值預(yù)報(bào)的實(shí)現(xiàn)方法及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實(shí)現(xiàn)方法和實(shí)現(xiàn)裝置以及實(shí)現(xiàn)系統(tǒng)
- 輸入設(shè)備實(shí)現(xiàn)方法及其實(shí)現(xiàn)裝置
- 一種層疊樣式表的提取方法和設(shè)備
- JSON結(jié)構(gòu)轉(zhuǎn)換方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- Json結(jié)構(gòu)函數(shù)管理方法
- JSON數(shù)據(jù)生成方法及設(shè)備
- 一種JSON數(shù)據(jù)處理方法及裝置
- 一種JSON合并的數(shù)據(jù)處理方法及裝置
- 一種JSON報(bào)文加密方法、解密方法及裝置
- 一種Json日志的生成方法、裝置及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 一種基于JSON解析的數(shù)據(jù)脫敏系統(tǒng)及方法
- 一種JSON序列化和反序列化的優(yōu)化方法及系統(tǒng)





