[發明專利]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.szxzyx.cn/pat/books/201810107784.6/2.html,轉載請聲明來源鉆瓜專利網。





