[发明专利]一种无层级结构的JSON反序列化方法、装置及存储介质在审
申请号: | 201910123348.2 | 申请日: | 2019-02-18 |
公开(公告)号: | CN109871519A | 公开(公告)日: | 2019-06-11 |
发明(设计)人: | 钱玉明 | 申请(专利权)人: | 北京思特奇信息技术股份有限公司 |
主分类号: | G06F17/22 | 分类号: | G06F17/22 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100089 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 层级结构 字段 注解 反序列化 存储介质 目标属性 反序列化操作 代码编写 属性分解 属性确定 系统开发 字段添加 复用率 解析 | ||
本发明提供了一种无层级结构的JSON反序列化方法、装置及存储介质,所述方法主要包括:通过解析目标JSON字符串,获取所述目标JSON字符串包含的JSON属性和JSON属性值;根据所述目标JSON字符串包含的JSON属性确定Java对象中的目标字段,所述目标字段的字段名称与所述目标JSON字符串包含的JSON属性的属性名称相同;为所述目标字段添加注解属性,并将所述注解属性分解后的属性作为所述目标字段的目标属性;基于所述注解属性给所述目标属性进行赋值。综上所述,通过注解属性,可消除目标JSON字符串反序列化成Java对象的层级结构,实现了无层级结构的JSON字符串反序列化操作,提高了业务侧代码的复用率,使系统开发效率更高,代码编写更简单。
技术领域
本发明涉及互联网技术领域,尤其涉及一种无层级结构的JSON反序列化方法、装置及存储介质。
背景技术
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript(StandardECMA-2623rdEdition-December 1999)脚本语言的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。易于用户阅读和编写,同时也易于机器解析和生成。
序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。上述中的对象(Object)就是客观世界中存在的人、事、物体等实体在计算机逻辑中的映射。反序列化(Deserialization)是与序列化相对的,它将Json字符串形式的数据流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。
现有技术中,大部分编程语言都有对应的JSON解析器,在Java语言中,开源的JSON解析器包括:fastjson、jackjson和gson等,这些解析器都支持把JSON字符串反序列化成用户自定义的JavaBean对象,但都要求用户自定义的Java Bean对象保持和JSON一样的层级,一方面导致在实际的系统开发中,如需使用JSON作为请求入参,经常存在JSON格式层级结构多,JSON嵌套很深,每一层结构都需要编写一个自定义JavaBean对象,代码比较复杂;另一方面,在实际的系统开发中还存在这样的场景,不同的业务逻辑代码,当JSON作为请求入参格式,可能只是调整了某一个参数的层级位置,业务代码获取对象的属性时却需要用到类似getUser(),getName()等方式,业务代码与JSON的层级之间未解耦,业务代码得不到复用。综上所述,现有技术中的JSON字符串反序列化技术存在业务侧代码复用率低,导致系统开发效率低,代码编写复杂的技术问题。
发明内容
本发明实施例提供一种无层级结构的JSON反序列化方法、装置及存储介质,主要旨在解决现有技术中由于JSON字符串反序列化成用户自定义的JavaBean对象,需保持和JSON字符串一样的层级,使业务侧代码复用率低,导致系统开发效率低,代码编写复杂的技术问题。
第一方面,本发明实施例提供了一种无层级结构的JSON反序列化方法,具体包括:
获取目标JSON字符串;
通过解析所述目标JSON字符串,获取所述目标JSON字符串包含的JSON属性和JSON属性值;
根据所述目标JSON字符串包含的JSON属性确定Java对象中的目标字段,所述目标字段的字段名称与所述目标JSON字符串包含的JSON属性的属性名称相同;
为所述目标字段添加注解属性,并将所述注解属性分解后的属性作为所述目标字段的目标属性;
基于所述注解属性给所述目标属性进行赋值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京思特奇信息技术股份有限公司,未经北京思特奇信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910123348.2/2.html,转载请声明来源钻瓜专利网。