[發明專利]一種強類型靜態編程語言JSON解析方法在審
| 申請號: | 202110430881.0 | 申請日: | 2021-04-21 |
| 公開(公告)號: | CN113126972A | 公開(公告)日: | 2021-07-16 |
| 發明(設計)人: | 吳方軍 | 申請(專利權)人: | 吳方軍 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F40/221 |
| 代理公司: | 北京沃知思真知識產權代理有限公司 11942 | 代理人: | 王妮 |
| 地址: | 419315 湖南*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 類型 靜態 編程 語言 json 解析 方法 | ||
1.一種強類型靜態編程語言JSON解析方法,其特征在于,包括:
A01.通過設置ePath路徑解析在JSON對象中的位置來獲取數據。
2.根據權利要求1所述的一種強類型靜態編程語言JSON解析方法,其特征在于,使用所述ePath路徑解析之前包括步驟:
B01.獲取JSON格式數據的字符串;
B02.將字符串解析成為Eson類型,所述Eson類型為提供的解析JSON工具類。
3.根據權利要求1所述的一種強類型靜態編程語言JSON解析方法,其特征在于,所述A01中ePath,用于獲取數據在JSON字符串的對象層次位置,集合順序位置,包括以下各種元素的至少唯一的組合:
C02.通過字段名獲取字段;
C03.通過點“.”語法來獲取JSON對象的字段;
C04.通過“[1]”方括號包裹下標的語法來獲取JSON數組對應的數值。
4.根據權利要求2所述的一種強類型靜態編程語言JSON解析方法,中Eson
5.類型,其特征在于,所述B02中Eson類型,包括以下步驟:
D01.實例化解析結果對象時,傳入JSON字符串或者傳入JSON字符串轉化為的Map;
D02.判斷如果是字符串類型,將使用語言自帶的標準庫的函數操作將JSON字符串,將其轉化為Map,如果是Map則直接使用,賦值給結果對象內成員變量data存儲;
D03.結果對象內部擁有一個索引Map,key為ePath,值為節點對象(節點對象包含:節點值、父節點、節點類型),其中結果值只是指向成員變量data;
D04.通過遞歸方式,遍歷傳入的JSON Map整個樹的各個節點,遞歸時計算該節點的ePath為key,節點為value(節點值、父節點、節點類型)存儲到內部索引Map上。
6.根據權利要求4所述的一種強類型靜態編程語言JSON解析方法其特征在于,所述中Eson類型包括:
E01.通過Eson類型提供的Eson.getDataType(ePath)函數接口形式來和獲取數據,DataType來確定返回的確定數據類型的數據;
E02.通過Eson類型提供的Eson.get(ePath)函數接口形式來操作數據,來返回未確定數據類型數據。
7.根據權利要求5所述的一種強類型靜態編程語言JSON解析方法,其特征在于,所述中Eson類型E01中所述DataType包括:
F01.基本數據類型數值類型例如integer,char,double,float等等基本的數值類型;
F02.面向對象語言提供的例如object,string,DateTime,CultrueInfo語言基本類庫引用類型;
F03.用戶自定義或者第三方定義的引用類型例如user,role,configuration等等類型。
8.根據權利要求4所述的一種強類型靜態編程語言JSON解析方法,其特征在于,所述Eson提供Eson.set(ePath,newValue)函數接口形式來操作數據,其中所述newValue是需要傳入新設置的數值。
9.根據權利要求4所述的一種強類型靜態編程語言JSON解析方法,其特征在于,所述Eson提供轉回JSON字符串,通過Eson.toString()即可轉回JSON字符串。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于吳方軍,未經吳方軍許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110430881.0/1.html,轉載請聲明來源鉆瓜專利網。





