一种数据格式与Java对象的转换方法技术

技术编号:19056230 阅读:25 留言:0更新日期:2018-09-29 12:04
本发明专利技术涉及一种数据格式与Java对象的转换方法,构建数据格式与Java对象的可读写模块,输入数据,确定数据的格式类型,分析由可读写模块进行标记的Java对象类型,基于当前数据的类型,获得指令,当指令为数据关联至Java对象时,调用交互模块对当前数据进行数据关联至Java对象的操作,当指令为Java对象关联至数据时,调用交互模块对当前数据进行Java对象关联至数据的操作,将读出数据保存至文件库,结束。本发明专利技术主要应用在后端,能够轻松打通前后端的交互瓶颈,达到前后端的同步,转换方式清晰,数据及对象格式匹配,程序可扩展性强,兼容性好,解决统一修改和管理的问题,有助于更简洁明了获取结果。

【技术实现步骤摘要】
一种数据格式与Java对象的转换方法
本专利技术涉及电数字数据处理的
,特别涉及一种数据格式与Java对象的转换方法。
技术介绍
对于绝大多数应用,都存在前端和后台,数据交互在现有的数据处理与开发中是无法避免的。然而,前端提交的数据需要转换成后端的对象,由于系统的版本更新、各个程序员对于数据和对象的表达差异,往往造成转换方式不统一、数据及对象格式不匹配的情况,导致程序员无法完全对在先的数据或对象进行应用,程序可扩展性差,兼容性差。这样的操作方式直接导致代码的耦合、冗余且不美观,运算量大,如果没有一种简洁的解决方式将给开发人员带来长期重复劳动,而且影响代码的可读性。
技术实现思路
为了解决现有技术中存在的问题,本专利技术提供一种优化的数据格式与Java对象的转换方法,使用统一的可读写模块解决前后端不同步问题。本专利技术所采用的技术方案是,一种数据格式与Java对象的转换方法,所述方法包括以下步骤:步骤1:构建数据格式与Java对象的可读写模块;步骤2:输入数据,确定数据的格式类型;步骤3:分析由可读写模块进行标记的Java对象类型;步骤4:基于当前数据的类型,获得指令;当指令为数据关联至Java对象时,进行步骤5,当指令为Java对象关联至数据时,进行步骤6;步骤5:调用交互模块对当前数据进行数据关联至Java对象的操作;进行步骤7;步骤6:调用交互模块对当前数据进行Java对象关联至数据的操作,将读出数据保存至文件库;进行步骤7;步骤7:结束。优选地,所述数据的类型包括Xml、Json。优选地,所述可读写模块还包括用于与内置数据DataSet、DataRow的交互、与Java标准类型HashMap的交互及与FreeMarker的数据对象TemplateModel的交互。优选地,所述步骤1中,数据可读写模块的构建包括以下步骤:步骤1.1:针对数据格式声明若干Annotation;步骤1.2:根据数据格式的结构,声明对应的Java对象,并在相关的Java对象的字段上标记对应的Annotation。优选地,所述Annotation包括映射到数据格式的属性和用于限定准确性的额外属性。优选地,所述步骤3中,分析包括以下步骤:步骤3.1:通过反射,检索当前的类型所有的Java对象的字段;步骤3.2:检查每个Java对象的字段是否标记了对应的Annotation,对检索出标注了Annotation的Java对象的字段进行归类存储;步骤3.3:检查当前类型的基类是否是Java的顶级基类Object,如果不是,获取基类型,重复步骤3.1,直至获得完整的结构。优选地,所述步骤5包括以下步骤:步骤5.1:获得步骤3的分析结果,获取完整结构;步骤5.2:当读取到数据的一个元素时,对应存储结构检索是否存在;如果存在,进行下一步,否则直接跳到该元素的结尾,结束;步骤5.3:根据结构中存储的属性和子元素进行进一步分析,当有适配的属性或元素值,通过默认或者Annotation中定义的类型转换器将数据的值转换成对应的Java类型,并通过反射存储到相应Java对象的字段中;步骤5.4:分析完毕后,对应的Java对象存储的值将和对应的数据格式的内容适配,可直接使用Java对象进行各种相关的操作。优选地,所述步骤6包括以下步骤:步骤6.1:获得步骤3的分析结果,获取完整结构;步骤6.2:根据结构中的指示,通过反射获取Java对象的值,通过可读写模块转换为相应的字符串,写入相应的数据格式的属性或者元素中;如果存在子元素,则不断向下,直到写完整个完整的对象为止。优选地,所述交互模块通过可扩展接口配合设置有配置插件模块。本专利技术提供了一种优化的数据格式与Java对象的转换方法,通过构建数据格式与Java对象的可读写模块,输入并判断数据的格式类型,分析由可读写模块进行标记的Java对象类型,基于当前数据的类型,获得指令;当指令为数据关联至Java对象时,调用交互模块对当前数据进行数据关联至Java对象的操作,当指令为Java对象关联至数据时,调用交互模块对当前数据进行Java对象关联至数据的操作,将读出数据保存至文件库,完成后结束。本专利技术主要应用在后端,能够轻松打通前后端的交互瓶颈,达到前后端的同步,转换方式清晰,数据及对象格式匹配,程序可扩展性强,兼容性好,解决统一修改和管理的问题,有助于更简洁明了获取结果。具体实施方式下面结合实施例对本专利技术做进一步的详细描述,但本专利技术的保护范围并不限于此。本专利技术涉及一种数据格式与Java对象的转换方法,所述方法包括以下步骤。所述数据的类型包括Xml、Json。所述可读写模块还包括用于与内置数据DataSet、DataRow的交互、与Java标准类型HashMap的交互及与FreeMarker的数据对象TemplateModel的交互。本专利技术中,事实上,数据的类型包括但不限于Xml和Json数据类型,系统采用插件的方式来注册读写Java对象的数据格式,Xml和Json最常见。此外,系统还可以实现与内置数据类型DataSet、DataRow的互通,和Java标准类型HashMap的互通,以及和FreeMarker的数据对象TemplateModel的互通,如果有新的需求,还可以根据新的需求编写相关的插件来读写相应的数据格式。本专利技术中,每种插件对相关Annotation的解释可以根据实际需要,解释一部分或者解释全部。步骤1:构建数据格式与Java对象的可读写模块。所述步骤1中,数据可读写模块的构建包括以下步骤:步骤1.1:针对数据格式声明若干Annotation;步骤1.2:根据数据格式的结构,声明对应的Java对象,并在相关的Java对象的字段上标记对应的Annotation。所述Annotation包括映射到数据格式的属性和用于限定准确性的额外属性。本专利技术中,Annotation是Java对象新增的语言特性,通过声明自己的Annotation,可以给相应的Java对象、属性等附着额外的信息。Annotation可以是针对Xml属性的SimpleAttribute、针对简单Xml元素的SimpleElement、针对含有内嵌子元素的Xml元素的ObjectElement等。本专利技术中,举例来说,定义类型:@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic@interfaceSimpleAttribute{AccessModeaccess()defaultAccessMode.Field;StringdefaultValue()default"";StringlocalName()default"";NamespaceTypenamespaceType()defaultNamespaceType.None;StringnamespaceUri()default"";NamingRulenamingRule()defaultNamingRule.Pascal;Class<>objectType()defaultBaseObjectAttribute.class;booleanuseOri本文档来自技高网...

【技术保护点】
1.一种数据格式与Java对象的转换方法,其特征在于:所述方法包括以下步骤:步骤1:构建数据格式与Java对象的可读写模块;步骤2:输入数据,确定数据的格式类型;步骤3:分析由可读写模块进行标记的Java对象类型;步骤4:基于当前数据的类型,获得指令;当指令为数据关联至Java对象时,进行步骤5,当指令为Java对象关联至数据时,进行步骤6;步骤5:调用交互模块对当前数据进行数据关联至Java对象的操作;进行步骤7;步骤6:调用交互模块对当前数据进行Java对象关联至数据的操作,将读出数据保存至文件库;进行步骤7;步骤7:结束。

【技术特征摘要】
1.一种数据格式与Java对象的转换方法,其特征在于:所述方法包括以下步骤:步骤1:构建数据格式与Java对象的可读写模块;步骤2:输入数据,确定数据的格式类型;步骤3:分析由可读写模块进行标记的Java对象类型;步骤4:基于当前数据的类型,获得指令;当指令为数据关联至Java对象时,进行步骤5,当指令为Java对象关联至数据时,进行步骤6;步骤5:调用交互模块对当前数据进行数据关联至Java对象的操作;进行步骤7;步骤6:调用交互模块对当前数据进行Java对象关联至数据的操作,将读出数据保存至文件库;进行步骤7;步骤7:结束。2.根据权利要求1所述的一种数据格式与Java对象的转换方法,其特征在于:所述数据的类型包括Xml、Json。3.根据权利要求1所述的一种数据格式与Java对象的转换方法,其特征在于:所述可读写模块还包括用于与内置数据DataSet、DataRow的交互、与Java标准类型HashMap的交互及与FreeMarker的数据对象TemplateModel的交互。4.根据权利要求1所述的一种数据格式与Java对象的转换方法,其特征在于:所述步骤1中,数据可读写模块的构建包括以下步骤:步骤1.1:针对数据格式声明若干Annotation;步骤1.2:根据数据格式的结构,声明对应的Java对象,并在相关的Java对象的字段上标记对应的Annotation。5.根据权利要求4所述的一种数据格式与Java对象的转换方法,其特征在于:所述Annotation包括映射到数据格式的属性和用于限定准确性的额外属性。6.根据权利要求4所述的一种数据格式与Java对象的转换方法,其特征在于:...

【专利技术属性】
技术研发人员:姚建荣戴柳杨
申请(专利权)人:浙江网盛数新软件股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1