System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術實施例涉及數據查詢,尤其涉及一種json數據查詢方法、裝置、設備及存儲介質。
技術介紹
1、js對象簡譜(javascript?object?notation,json)是一種廣泛應用于互聯網的文本格式,json數據的格式包含json數組和json對象,例如[1,2,3]為json數組形式,{"a":1,"b":2}為json對象形式,json對象通常由多對鍵:值組成(為了方便表述,可以將一對鍵:值稱為一個json對象元素),上述示例中a和b為鍵,1和2為值。在對json進行查詢時,通常可以通過路徑查詢方式提取json數據中的特定信息。例如針對[1,2,3],可以查詢$[0]路徑下的數據,$[0]表示查詢json數組中第一個元素。例如針對{"a":1,"b":2},可以查詢$.a路徑下的數據,$.a表示查詢json對象中鍵為a對應的值。
2、目前部分數據庫廠商已支持將json數據的路徑查詢結果轉換成關系表。一個非常直接的實現方式便是遍歷各個路徑的查詢結果,并在遍歷的過程中將結果保存在表中,然而在多條json路徑查詢的場景下,多路徑遍歷等效于多叉樹的遍歷,且路徑查詢的結果可能會互相關聯(例如有公共路徑),導致該方式遍歷過程復雜,實現難度較大。
技術實現思路
1、本專利技術提供了一種json數據查詢方法、裝置、設備及存儲介質,以解決現有技術中查詢json數據時遍歷復雜的問題。
2、根據本專利技術的一方面,提供了一種json數據查詢方法,所述方法包括:<
...【技術保護點】
1.一種JSON數據查詢方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述對所述查詢語句進行分析,得到所述查詢語句中所有查詢路徑對應的定義列或輔助列,包括:
3.根據權利要求1所述的方法,其特征在于,所述針對每個定義列,基于所述定義列和所述定義列關聯的輔助列,構建所述定義列的輔助表,包括:
4.根據權利要求1或3所述的方法,其特征在于,構建所述定義列的輔助表,包括:
5.根據權利要求4所述的方法,其特征在于,根據所述輔助表中各列對應查詢路徑確定所述輔助表中的列值,包括:
6.根據權利要求1所述的方法,其特征在于,所述基于所述輔助表中的輔助列連接所有的輔助表,包括:
7.根據權利要求6所述的方法,其特征在于,所述基于所述連接順序依次連接所有的輔助表,包括:
8.一種JSON數據查詢裝置,其特征在于,所述裝置包括:
9.一種電子設備,其特征在于,所述設備包括:
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有計算機指令,所述計
...【技術特征摘要】
1.一種json數據查詢方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述對所述查詢語句進行分析,得到所述查詢語句中所有查詢路徑對應的定義列或輔助列,包括:
3.根據權利要求1所述的方法,其特征在于,所述針對每個定義列,基于所述定義列和所述定義列關聯的輔助列,構建所述定義列的輔助表,包括:
4.根據權利要求1或3所述的方法,其特征在于,構建所述定義列的輔助表,包括:
5.根據權利要求4所述的方法,其特征在于,根據所述輔助表中各列對應查詢路徑確定所述輔助表中...
【專利技術屬性】
技術研發人員:葉杰敏,郭琰,韓朱忠,
申請(專利權)人:上海達夢數據庫有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。