数据结构的转换方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:20916655 阅读:21 留言:0更新日期:2019-04-20 09:43
本申请涉及一种数据结构的转换方法、装置、计算机设备和存储介质。所述方法包括:获取第一数据结构数据及映射脚本;调用特定应用程序编程接口解析所述映射脚本,获得语法树对象;将所述第一数据结构数据输入至所述语法树对象;遍历所述语法树对象,将所述第一数据结构数据进行转换,生成第二数据结构数据。采用本方法能够实现多种格式的数据结构内部实例间的转换;为多种不同或相同格式的有向无环图的数据结构之间的转换提供了一套全面、灵活且易用的解决方案;没有对源格式、目标格式及转换方向的限制,大大提高了灵活性和泛用性。

Data Structure Conversion Method, Device, Computer Equipment and Storage Media

This application relates to a data structure conversion method, device, computer equipment and storage medium. The method includes: acquiring the first data structure data and mapping script; calling the specific application program interface to parse the mapping script and obtain the grammar tree object; inputting the first data structure data into the grammar tree object; traversing the grammar tree object, transforming the first data structure data and generating the second data structure data. This method can realize the conversion between internal instances of data structures of various formats; it provides a comprehensive, flexible and easy-to-use solution for the conversion between data structures of directed acyclic graphs of different or the same format; it has no restrictions on source format, target format and conversion direction, and greatly improves flexibility and generality.

【技术实现步骤摘要】
数据结构的转换方法、装置、计算机设备和存储介质
本申请涉及计算机
,特别是涉及一种数据结构的转换方法、装置、计算机设备和存储介质。
技术介绍
XML(ExtensibleMarkupLanguage,可扩展标记语言)是一种由SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言)衍生而来的简单的、灵活的文本格式。由于XML的各种良好特性,将会有越来越多的数据以XML的格式保存和传输。在很多应用场合中需要XML文档转换成其他格式的文档,例如,构建网站时需要把XML转换成常见的HTML文档,在电子商务中,企业间通过XML文档交换数据,但在接收数据后就可能先要把XML文件转换成企业内部的数据格式。对于同一种的数据结构,不同用户、不同时期之间设计的XML文档的数据层次关系及元素命名都会有所不同,XML文档之间同样存在数据结构转换的问题;与XML文档类似的还有JSON格式的文档,JSON格式的文档之间也存在数据结构转换的问题;进一步地,不同数据结构的文档也可以相互转换,如将XML文档转换为JSON格式的文档;无论是同种数据结构的文档或不同种数据结构的文档之间的转换,都需要编写某种特定的应用程序,或者使用某种特定的工具才能够进行转换,步骤比较繁琐,花费时间长,降低了用户的使用便利性。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高数据结构转换过程中用户的使用便利性的数据结构的转换方法、装置、计算机设备和存储介质。一种数据结构的转换方法,所述方法包括:获取第一数据结构数据及映射脚本;调用特定应用程序编程接口解析所述映射脚本,获得语法树对象;将所述第一数据结构数据输入至所述语法树对象;遍历所述语法树对象,将所述第一数据结构数据进行转换,生成第二数据结构数据。在其中一个实施例中,所述映射脚本包括属于第一数据结构类型的输入变量和属于第二数据结构类型的输出变量,分别用于存储第一数据结构数据和第二数据结构数据;第一数据结构数据的数据结构类型及第二数据结构数据的数据结构类型相同或不同。在其中一个实施例中,所述数据结构类型包括有向无环图结构或可等价转换为有向无环图结构的数据结构类型;所述有向无环图结构或可等价转换为有向无环图结构的数据结构类型包括JavaScript对象表示法、可扩展标记语言、对象图导航语言、Map、MultiValuedMap、快捷健康互操作资源中的至少一种。在其中一个实施例中,所述遍历所述语法树对象,将所述第一数据结构数据进行转换,生成第二数据结构数据,包括:将所述第一数据结构数据解析为对应的列表数据,并赋值至所述输入变量;根据所述映射脚本对应的映射规则对所述输入变量中的数据进行映射,生成目标数据;将所述目标数据赋值至所述输出变量;将输出变量中的目标数据转换为第二数据结构数据。一种数据结构的转换装置,所述装置包括:获取模块,用于获取第一数据结构数据及映射脚本;调用模块,用于调用特定应用程序编程接口解析所述映射脚本,获得语法树对象;输入模块,用于将所述第一数据结构数据输入至所述语法树对象;转换模块,用于遍历所述语法树对象,将所述第一数据结构数据进行转换,生成第二数据结构数据。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:获取第一数据结构数据及映射脚本;调用特定应用程序编程接口解析所述映射脚本,获得语法树对象;将所述第一数据结构数据输入至所述语法树对象;遍历所述语法树对象,将所述第一数据结构数据进行转换,生成第二数据结构数据。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取第一数据结构数据及映射脚本;调用特定应用程序编程接口解析所述映射脚本,获得语法树对象;将所述第一数据结构数据输入至所述语法树对象;遍历所述语法树对象,将所述第一数据结构数据进行转换,生成第二数据结构数据。上述数据结构的转换方法、装置、计算机设备和存储介质,通过获取第一数据结构数据及映射脚本;调用特定API解析所述映射脚本,获得语法树对象;将所述第一数据结构数据输入至所述语法树对象;遍历所述语法树对象,将所述第一数据结构数据进行转换,生成第二数据结构数据;实现多种格式的数据结构内部实例间的转换;为多种不同或相同格式的有向无环图或与有向无环图等价的数据结构之间的转换提供了一套全面、灵活且易用的解决方案;没有对源格式、目标格式及转换方向的限制,大大提高了灵活性和泛用性。附图说明图1是一个实施例的一种数据结构的转换方法的应用设备图;图2是一个实施例的一种数据结构的转换方法的流程示意图;图3是一个实施例的一种生成第二数据结构数据的流程示意图;图4是一个实施例的一种映射脚本中变量初始取值和数据结构情况示意图;图5是一个实施例的一种映射脚本中变量和别名取值、元素对应关系、执行逻辑和数据结构情况示意图;图6是一个实施例的一种映射脚本中变量和别名取值、元素对应关系、执行逻辑和数据结构情况示意图;图7是一个实施例的一种映射脚本中变量和别名取值、元素对应关系、执行逻辑和数据结构情况示意图;图8是一个实施例的一种映射脚本中变量最终取值、元素对应关系和数据结构情况示意图;图9是一个实施例的一种数据结构的转换装置的结构框图;图10是一个实施例的一种计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的数据结构的转换方法,可以应用于如图1所示的设备中。其中,所述设备可以包括终端102,所述终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,该终端102的操作系统可以包括Windows、Linux、Android(安卓)、IOS、WindowsPhone等等,本实施例对此不作限制。在一个实施例中,如图2所示,提供了一种数据结构的转换方法,以该方法应用于终端102为例进行说明,包括以下步骤:步骤S201,获取第一数据结构数据及映射脚本;本实施例中,该终端首先可以获取到所述第一数据结构数据及映射脚本;需要说明的是,第一数据结构数据可以以文档数据的形式存在,该第一数据结构数据的数据结构类型可以为某个特定的数据结构。举例而言,该第一数据结构可以包括有向无环图数据结构或者可等价转换为有向无环图的数据结构。在数据结构中,图(Graph)是一种由顶点的有穷非空集合和顶点之间边的集合组成的数据结构;图按照边的有无方向性分为无向图和有向图;在有向图中,无法从某个顶点出发经过若干条边回到该点,则该有向图称为有向无环图;有向无环图(DAG,DirectedAcyclicGraph)数据结构主要用于拓扑排序和关键路径操作。进一步地,所述映射脚本可以为预置的映射脚本,该映射脚本为采用特定映射语言编写的程序,需要说明的是,该映射脚本中可以包括属于第一数据结构类型的输入变量和属于第二数据结构类型的输出变量,分别用于存储第一数据结构数据和第二数据结构数据;第一数据结构数据的数据结构类型及第二数据结构数据的数据结构类型相同或不同。步骤S2本文档来自技高网...

【技术保护点】
1.一种数据结构的转换方法,所述方法包括:获取第一数据结构数据及映射脚本;调用特定应用程序编程接口解析所述映射脚本,获得语法树对象;将所述第一数据结构数据输入至所述语法树对象;遍历所述语法树对象,将所述第一数据结构数据进行转换,生成第二数据结构数据。

【技术特征摘要】
1.一种数据结构的转换方法,所述方法包括:获取第一数据结构数据及映射脚本;调用特定应用程序编程接口解析所述映射脚本,获得语法树对象;将所述第一数据结构数据输入至所述语法树对象;遍历所述语法树对象,将所述第一数据结构数据进行转换,生成第二数据结构数据。2.根据权利要求1所述的方法,其特征在于,所述映射脚本包括属于第一数据结构类型的输入变量和属于第二数据结构类型的输出变量,分别用于存储第一数据结构数据和第二数据结构数据;第一数据结构数据的数据结构类型及第二数据结构数据的数据结构类型相同或不同。3.根据权利要求1或2所述的方法,其特征在于,所述数据结构类型包括有向无环图结构或可等价转换为有向无环图结构的数据结构类型;所述有向无环图结构或可等价转换为有向无环图结构的数据结构类型包括JavaScript对象表示法、可扩展标记语言、对象图导航语言、Map、MultiValuedMap、快捷健康互操作资源中的任意一种。4.根据权利要求2所述的方法,其特征在于,所述遍历所述语法树对象,将所述第一数据结构数据进行转换,生成第二数据结构数据,包括:将所述第一数据结构数据解析为对应的列表数据,并赋值至所述输入变量;根据所述映射脚本对应的映射规则对所述输入变量中的数据进行映射,生成目标数据;将所述目标数据赋值至所述输出变量;将输出变量中的目标数据转换为第二数据结构数据。5.一种数据结构的转换装置,所述装置包括:获取模块,用于获取第一数据结构数据及映射脚本;调用模块,用于调用特定应用程序编程接口解析所述映射脚本,获得语法树对象;输入模块,用于将所述第一...

【专利技术属性】
技术研发人员:洪小宇
申请(专利权)人:广州天鹏计算机科技有限公司
类型:发明
国别省市:广东,44

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

1