[发明专利]一种json数据解析方法及装置在审
申请号: | 201710312743.6 | 申请日: | 2017-05-05 |
公开(公告)号: | CN107220096A | 公开(公告)日: | 2017-09-29 |
发明(设计)人: | 李源 | 申请(专利权)人: | 北京小度信息科技有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙)11363 | 代理人: | 逯长明,许伟群 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 json 数据 解析 方法 装置 | ||
1.一种json数据解析方法,其特征在于,包括:
从json数据中抽取待查询的json节点;
依据所述json节点的信息配置解析模板;
依据所述解析模板构建java数据结构;
利用所述json数据初始化所述java数据结构,得到java对象。
2.根据权利要求1所述的方法,其特征在于,依据所述json节点的信息配置解析模板的步骤,包括:
分析所述json节点之间的从属关系以及所述json节点的结构类型;
映射于所述json节点之间的从属关系,通过java类节点和java成员变量节点配置所述解析模板;
依据所述json节点的结构类型,在所述解析模板的java成员变量节点中配置所述json节点对应的java类型。
3.根据权利要求2所述的方法,其特征在于:
所述java类节点的属性包括:当前java类的信息输出顺序值、当前java类从属的父类名和当前java类类名;
所述java成员变量节点的属性包括:当前java成员变量的信息输出顺序值、当前java成员变量从属的类名和当前java成员变量名。
4.根据权利要求2所述的方法,其特征在于,通过java类节点和java成员变量节点映射于所述json节点之间的从属关系,配置所述解析模板的步骤,具体包括:
映射于所述json节点之间的从属关系,通过class节点和prop节点配置所述解析模板;
所述class节点包括name属性;
所述prop节点包括name属性和type属性。
5.根据权利要求2所述的方法,其特征在于,依据所述json节点的结构类型,在所述解析模板的java成员变量节点中配置所述json节点对应的java类型的步骤,包括:
若所述json节点的结构类型为jsonObject,在所述解析模板的java成员变量节点中,将所述json节点对应的java类型配置为表示java类的类型;
若所述json节点的结构类型为jsonArray,在所述解析模板的java成员变量节点中,将所述json节点对应的java类型配置为表示java中List的类型;
若所述json节点的结构类型为原始数据类型,在所述解析模板的java成员变量节点中,将所述json节点对应的java类型配置为表示java原始数据的类型。
6.根据权利要求1所述的方法,其特征在于,依据所述解析模板构建java数据结构的步骤,包括:
构建所述解析模板中java原始数据对应的map数据结构;
构建所述解析模板中的java类对应的map数据结构,所述java类对应的map数据结构包括从属于当前java类的java成员变量对应的map数据结构。
7.根据权利要求6所述的方法,其特征在于,利用所述json数据初始化所述java数据结构,得到java对象的步骤,包括:
依据所述map数据结构,搜索所述json数据中的节点,将搜索得到的值赋值到对应的map数据结构中。
8.一种json数据解析装置,其特征在于,包括:
抽取模块,用于从json数据中抽取待查询的json节点;
配置模块,用于依据所述json节点的信息配置解析模板;
java数据构建模块,用于依据所述解析模板构建java数据结构;
初始化模块,用于利用所述json数据初始化所述java数据结构,得到java对象。
9.根据权利要求8中所述的装置,其特征在于,所述配置模块包括:
结构类型分析单元,用于分析所述json节点之间的从属关系以及所述json节点的结构类型;
解析模板配置单元,用于映射于所述json节点之间的从属关系,通过java类节点和java成员变量节点配置所述解析模板;
java类型配置单元,用于依据所述json节点的结构类型,在所述解析模板的java成员变量节点中配置所述json节点对应的java类型。
10.根据权利要求9所述的装置,其特征在于,所述java类型配置单元包括:
第一java类型配置子单元,用于若所述json节点的结构类型为jsonObject,在所述解析模板的java成员变量节点中,将所述json节点对应的java类型配置为表示java类的类型;
第二java类型配置子单元,用于若所述json节点的结构类型为jsonArray,在所述解析模板的java成员变量节点中,将所述json节点对应的java类型配置为表示java中List的类型;
第三java类型配置子单元,用于若所述json节点的结构类型为原始数据类型,在所述解析模板的java成员变量节点中,将所述json节点对应的java类型配置为表示java原始数据的类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京小度信息科技有限公司,未经北京小度信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710312743.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种无人值守安装Vmware操作系统的方法
- 下一篇:一种带冷气装置的淋浴房
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置