logo好方法网

一种数据格式转换框架


技术摘要:
本发明属于数据转换技术领域,尤其为一种数据格式转换框架,包括以下步骤:A、输入源数据;B、判断源数据是否为JSON格式数据,若是则进行下一步,若不是则将源数据格式转换成JSON格式数据;C、将JSON格式数据中每个节点利用坐标表示,通过坐标定义每一个或每一种类型的  全部
背景技术:
数据转换旨在对不同格式的数据进行转换,由源格式转换为目标系统所  需要的 目标数据格式。 在To  B领域的项目开发中,经常会涉及到大量的第三方接口对接及服务  调用。在 类似的系统对接当中,往往会遇到数据存储方式不一致、数据格式  不统一等若干问题,造 成这些问题的原因如下: 1、数据存储方式不一致,在与传统项目对接时,数据的提供方时常会提  供XML格 式的数据,在调用方以处理JSON格式数据为主; 2、数据字段名称不统一,相同意义的字段,在不同的系统中常有不同的  命名; 3、数据结构层级不一致,接口调用中,常常会出现数据结构的层级不一  致,例如 在第三方接口中返回两层的JSON数据结构,在调用方数据结构可能 为一层,或是三层; 4、数据提供方接口变更,提供服务的数据提供方变更返回数据的存储结  构,造成 调用方相应调整。 目前针对上述问题,现有的技术解决方案仅能在源代码层面上,针对每  一种数据 类型间转换,编写大量的样板代码。但是这样会存在以下主要问题: 1、针对每个转换都要编写大量样板代码,代码冗余度过高,当数据转换  场景增加 时,冗余度只增不减; 2、硬编码实现数据转换部分的代码,若进行后期维护或升级,难度极大; 3、格式转换相关代码可读性差,针对一个复杂的数据转换,程序员出错  概率极 高; 4、由于XML格式不包含数组元素,在与JSON互转时,目前现有的所有  转换工具无 法实现语义信息不丢失且格式统一的XML、JSON转换。 针对现有现阶段数据转换是通过在代码中定义实体类型、创建大量的实  体对象, 并进行属性赋值实现,转化代码可读性差,后期维护成本较高等问  题。本发明人通过选用 以JSON格式数据转换为标准,提出一种数据格式转换  方法,定义了数据格式的描述方式, 及转换规则,通过规则配置 转换框架相  结合的方式,实现任意的数据格式转换,消除了数 据转换所产生的大量样板  代码,也极大提升了代码的可读性。
技术实现要素:
(一)解决的技术问题 针对现有技术的不足,本发明提供了一种数据格式转换框架,解决了上  述背景技 术中提出的问题。 (二)技术方案 3 CN 111597390 A 说 明 书 2/6 页 为实现上述目的,本发明提供如下技术方案:一种数据格式转换框架,  包括以下 步骤: A、输入源数据; B、判断源数据是否为JSON格式数据,若是则进行下一步,若不是则将  源数据格式 转换成JSON格式数据; C、将JSON格式数据中每个节点利用坐标表示,通过坐标定义每一个或  每一种类 型的节点; D、数据转换引擎根据转换规则对步骤C得到的数据进行数据转换操作; E、得到目标数据并输出。 作为本发明的一种优选技术方案,所述步骤B中,若数据格式为XML数  据,则需要 根据是否包含标签内属性来进行格式转换操作。 作为本发明的一种优选技术方案,所述JSON格式数据的节点包括JSON  对象数组、 JSON常量数组、JSON对象和JSON常量。 作为本发明的一种优选技术方案,所述数据转换引擎包括数据压缩和数  据解压。 作为本发明的一种优选技术方案,所述转换规则包括: ①每个JSON转换规则必须存在唯一的根节点。若不存在,则可以手动添  加"r->r" (针对JSON对象)或"r.[->r.["(针对JSON数组)为根节点; ②若转换的某个目标JSON节点为数组类型,则该描述规则在该节点下必  须建立 子规则节点; ③若目标树的某个子节点,某个子节点的某个过程中路径下存在多个子  路径,则 该过程中路径节点下必须建立子规则节点;否则,无需针对目标节  点路径中的每个节点建 立子规则节点; ④转换规则节点可以不存在源节点,但必须存在目标节点,如果不存在  源节点, 表示该节点直接在目标节点中创建,在源节点中无对应节点; ⑤转换规则当中的任何节点(除根节点),其目标节点必须与上层节点  存在主子 关系(下层节点为上层节点的子节点),否则转换规则无效。 (三)有益效果 与现有技术相比,本发明提供了一种数据格式转换框架,具备以下有益 效果: 1、本发明的转换框架可以极大程度减少旧有技术在转换数据时产生的  大量样板 代码,且极大程度提高可读性和可维护性;通过使用本发明数据转  换框架,代码的可靠性 和可维护性有了质的提升。 2、本发明通过自定义数据结构坐标表示、转换规则和数据转换引擎,使  得不同格 式间的数据转换可以便捷、高效进行,减少代码的复杂度,同时提 高数据转换的可维护性。 3、本发明具有还具有通用性、复用性、扩展型、动态性、灵活性的优势。 附图说明 图1为本发明实施例中JSON树节点坐标; 图2为本发明实施例中数据转换工作图; 4 CN 111597390 A 说 明 书 3/6 页
下载此资料需消耗2积分,
分享到:
收藏