CN111858472B - 文件格式转换方法、装置、计算机设备及存储介质 - Google Patents
文件格式转换方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111858472B CN111858472B CN202010769281.2A CN202010769281A CN111858472B CN 111858472 B CN111858472 B CN 111858472B CN 202010769281 A CN202010769281 A CN 202010769281A CN 111858472 B CN111858472 B CN 111858472B
- Authority
- CN
- China
- Prior art keywords
- xml
- field
- json
- node
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/84—Mapping; Conversion
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理领域,提供了一种文件格式转换方法、装置、计算机设备及存储介质,所述文件格式转换方法包括:当服务端与客户端发生交互时,获取客户端发送的xml文件;从预设配置表中获取xml文件包含的xml标识与json标识之间的映射关系;对xml文件进行解析处理,得到xml树形结构;基于映射关系和xml树形结构,对xml文件包含的xml字段进行json文件格式转换处理,得到json字段;判断每个xml字段是否都转换为json字段;若每个xml字段都转换为json字段,则完成文件格式转换,否则继续进行json文件格式转换处理,直到每个xml字段都转换为json字段为止。此外,本发明还涉及区块链技术,所述xml文件可存储于区块链中。本申请实现提高json文件格式转换的准确性。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种文件格式转换方法、装置、计算机设备及存储介质。
背景技术
随着软件行业的不同发展阶段,对于数据的标准使用存在着不同的习惯或规范,例如存在系统参数的文件格式为xml或json,当xml格式的系统与json格式的系统发生交互时,需要将某一方的文件格式转换成另一方的文件格式,传统的文件格式转换方法主要是根据双方相同的字段和数据结构进行转换,但在存在不同字段或数据结构的情况下,无法准确转换,从而导致转换出错,影响系统交互的准确性。
发明内容
本发明实施例提供一种文件格式转换方法、装置、计算机设备及存储介质,以解决传统的json文件格式转换方法准确性不高,导致转换出错的问题。
一种文件格式转换方法,包括:
当服务端与客户端发生交互时,获取所述客户端发送的xml文件,其中,所述xml文件包含xml字段以及所述xml字段对应的xml标识;
从预设配置表中获取所述xml标识与json标识之间的映射关系,其中,预设配置表包含所述json标识与所述映射关系,其中,所述映射关系包括所述json标识对应的基础结构和基础字段;
对所述xml文件进行解析处理,得到xml树形结构;
基于所述映射关系和所述xml树形结构,对所述xml字段进行json文件格式转换处理,得到json字段;
判断每个所述xml字段是否都转换为所述json字段;
若每个所述xml字段都转换为所述json字段,则完成文件格式转换;
若存在至少一个所述xml字段未转换为所述json字段,则对未转换成所述json字段的xml字段继续进行json文件格式转换处理,直到每个所述xml字段都转换为所述json字段为止。
一种文件格式转换装置,包括:
第一获取模块,用于当服务端与客户端发生交互时,获取所述客户端发送的xml文件,其中,所述xml文件包含xml字段以及所述xml字段对应的xml标识;
第二获取模块,用于从预设配置表中获取所述xml标识与json标识之间的映射关系,其中,预设配置表包含所述json标识与所述映射关系,其中,所述映射关系包括所述json标识对应的基础结构和基础字段;
解析模块,用于对所述xml文件进行解析处理,得到xml树形结构;
转换模块,用于基于所述映射关系和所述xml树形结构,对所述xml字段进行json文件格式转换处理,得到json字段;
判断模块,用于判断每个所述xml字段是否都转换为所述json字段;
完成模块,用于若每个所述xml字段都转换为所述json字段,则完成文件格式转换;
未完成模块,用于若存在至少一个所述xml字段未转换为所述json字段,则对未转换成所述json字段的xml字段继续进行json文件格式转换处理,直到每个所述xml字段都转换为所述json字段为止。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述文件格式转换方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述文件格式转换方法的步骤。
上述文件格式转换方法、装置、计算机设备及存储介质,在服务端与客户端发生交互时获取客户端发送的xml文件,通过预设配置表获取xml文件包含的xml标识与json标识之间的映射关系,在对xml文件进行解析处理,得到xml树形结构,基于映射关系和xml树形结构,对xml文件包含的xml字段进行json文件格式转换处理,得到json字段,并判断每个xml字段是否都转换为json字段,若所有xml字段均转换为json字段,则完成文件格式转换,否则对未转换为json字段的xml字段,继续进行json文件格式转换处理,直到每个xml字段都转换为json字段为止。通过获取映射关系,可以增强数据之间的关联性,提高后续根据映射关系进行json文件格式转换的准确性;将xml文件解析成xml树形结构的方式,能够体现xml文件数据之间的分布特性,提高后续数据处理的效率;最后结合映射关系和xml树形结构对xml字段进行json文件格式转换,能够加强json文件格式转换过程的数据关联,避免json文件格式转换出错,从而提高json文件格式转换的准确性,保证服务端与客户端交互的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的文件格式转换方法的流程图;
图2是本发明实施例提供的文件格式转换方法中步骤S2的流程图;
图3是本发明实施例提供的文件格式转换方法中步骤S4的流程图;
图4是本发明实施例提供的文件格式转换方法中步骤S44的流程图;
图5是本发明实施例提供的文件格式转换方法中步骤S444的流程图;
图6是本发明实施例提供的文件格式转换装置的示意图;
图7是本发明实施例提供的计算机设备的基本机构框图。
实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的文件格式转换方法应用于服务端,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。在一实施例中,如图1所示,提供一种文件格式转换方法,包括如下步骤:
S1:当服务端与客户端发生交互时,获取客户端发送的xml文件,其中,xml文件包含xml字段以及xml字段对应的xml标识。
在本发明实施例中,当服务端与客户端通过接口参数进行交互时,获取客户端发送的xml文件。其中,接口参数是指用户预先设定服务端与客户端发生交互的数据通道。
需要说明的是,服务端对应的文件格式为json,客户端对应的文件格式为xml,由于文件格式的不同,导致服务端在与客户端发生交互时,无法准确识别客户端的xml文件,故需将客户端的文件格式转换成与服务端相同的文件格式,以保证服务端与客户端交互过程中数据识别的准确性。
需要强调的是,为进一步保证上述xml文件的私密和安全性,上述xml文件还可以存储于一区块链的节点中。
S2:从预设配置表中获取xml标识与json标识之间的映射关系,其中,预设配置表包含json标识与映射关系,其中,所述映射关系包括所述json标识对应的基础结构和基础字段。
在本发明实施例中,预设配置表是指用户根据实际要求预先配置映射关系的数据表,且该预设配置表中包含json标识与映射关系。
具体地,通过将xml标识与预设配置表中的json标识进行匹配的方式,获取xml标识与json标识之间的映射关系。
S3:对xml文件进行解析处理,得到xml树形结构。
在本发明实施例中,将xml文件导入到预设解析端口中进行解析处理,得到解析处理后的xml树形结构。其中,预设解析端口是指专门用于将xml文件解析成xml树形结构的处理端口;预设解析端口也可以是用户预先设定的解析器。
需要说明的是,xml树形结构是由不同的节点构成,其包含参数根节点、子节点和叶子节点。
进一步地,节点对应的是字段,系统之间通过接口进行交互,接口通过参数进行数据传递,而参数是由一个或多个字段构成的,字段在xml文件的树状存储结构中以节点的形式体现。
参数根节点是指xml树形结构中最外层的节点,其只有子节点,没有父节点;
父节点是指某个节点相连的外层节点,即为某个节点的上一级节点;
子节点是指某个节点直接相连的内层节点;
叶子节点是指最内层的节点,其只有父节点,没有子节点。
S4:基于映射关系和xml树形结构,对xml字段进行json文件格式转换处理,得到json字段。
在本发明实施例中,根据映射关系和xml树形结构,将xml字段导入到预设转换端口中进行json文件格式转换处理,得到转换处理后的json字段。
其中,预设转换端口是指专门用于进行json文件格式转换处理的处理端口。
S5:判断每个xml字段是否都转换为json字段。
在本发明实施例中,通过从预设目标库中查询每个xml字段对应转换后的json字段的方式,判断每个xml字段是否都转换为json字段。
其中,预设目标库是指专门用于存储不同的xml字段及每个xml字段对应转换后的json字段的数据库。
需要说明的是,当xml字段未转换成json字段,则预设目标库中只能查询到xml字段,而无法查询到该xml字段对应转换后的json字段。
S6:若每个xml字段都转换为json字段,则完成文件格式转换。
在本发明实施例中,根据步骤S5的判断方式,当从预设目标库中查询到每个xml字段均有其对应的json字段时,表示每个xml字段都转换为json字段,即完成文件格式转换。
S7:若存在至少一个xml字段未转换为json字段,则对未转换成json字段的xml字段继续进行json文件格式转换处理,直到每个xml字段都转换为json字段为止。
在本发明实施例中,根据步骤S5的判断方式,当从预设目标库中查询到至少一个xml字段没有对应的json字段时,表示存在xml字段未转换为json字段,获取未转换成json字段的xml字段,并根据步骤S4对该xml字段进行json文件格式转换处理,直到从预设目标库中查询到每个xml字段均有其对应的json字段为止。
本实施例中,在服务端与客户端发生交互时获取客户端发送的xml文件,通过预设配置表获取xml文件包含的xml标识与json标识之间的映射关系,在对xml文件进行解析处理,得到xml树形结构,基于映射关系和xml树形结构,对xml文件包含的xml字段进行json文件格式转换处理,得到json字段,并判断每个xml字段是否都转换为json字段,若所有xml字段均转换为json字段,则完成文件格式转换,否则对未转换为json字段的xml字段,继续进行json文件格式转换处理,直到每个xml字段都转换为json字段为止。通过获取映射关系,可以增强数据之间的关联性,提高后续根据映射关系进行json文件格式转换的准确性;将xml文件解析成xml树形结构的方式,能够体现xml文件数据之间的分布特性,提高后续数据处理的效率;最后结合映射关系和xml树形结构对xml字段进行json文件格式转换,能够加强json文件格式转换过程的数据关联,避免json文件格式转换出错,从而提高json文件格式转换的准确性,保证服务端与客户端交互的准确性。
在一实施例中,如图2所示,步骤S2中,即从预设配置表中获取xml标识与json标识之间的映射关系包括如下步骤:
S21:将xml标识与预设配置表中的json标识进行匹配。
在本发明实施例中,将xml标识与预设配置表中的json标识进行匹配。
需要说明的是,预设配置表包含json标识为n个,且每个json标识都有与其对应的基础结构和基础字段,其中,n为大于1的正整数。
S22:若xml标识与json标识相匹配,则获取json标识对应的基础结构和基础字段,作为xml标识与json标识之间的映射关系。
在本发明实施例中,由于预设配置表包含json标识,以及json标识对应的基础结构和基础字段,根据步骤S21的匹配方式,若xml标识与json标识相匹配,则表示预设配置表中存在该xml标识对应的映射关系,并获取与xml标识相匹配的json标识对应的基础结构和基础字段,将基础结构和基础字段作为该xml标识与json标识之间的映射关系。
S23:若xml标识与json标识不匹配,则映射关系为空。
在本发明实施例中,根据步骤S21的匹配方式,若xml标识与json标识不匹配,则表示预设配置表中未存在该xml标识对应的映射关系,即映射关系为空。
本实施例中,将xml标识与预设配置表中的json标识进行匹配,在匹配成功的情况下,获取json标识对应的基础结构和基础字段,作为xml标识与json标识之间映射关系,在匹配失败的情况下,映射关系为空。通过匹配的方式,能够增加在不同匹配情况下映射关系获取的维度,避免维度单一,导致后续出现根据映射关系进行json文件格式转换的精度较低,从而提高数据的关联性,进而提高后续json文件格式转换处理的准确性。
在一实施例中,如图3所示,树形结构包含参数根节点、子节点和叶子节点,叶子节点包含xml字段,步骤S4中,即基于映射关系和xml树形结构,对xml字段进行json文件格式转换处理,得到json字段包括如下步骤:
S41:针对xml树形结构中的每个参数根节点,从预设参数表中获取与参数根节点存在关联关系的子节点。
在本发明实施例中,预设参数表是指用于记录不同的历史参数根节点,历史参数根节点对应的识别号,以及历史参数根节点下包含的子节点的日志表。xml树形结构中的每个参数根节点都有其对应的标识号。
具体地,针对xml树形结构中的每个参数根节点,将参数根节点对应的标识号与预设参数表中的识别号进行比较,选取与标识号相同的识别号对应的历史参数根节点,获取该历史参数根节点下包含的子节点,作为与参数根节点存在关联关系的子节点。
S42:将子节点对应的节点描述信息与预设信息进行比较,选取比较相同的子节点作为叶子节点,其中,子节点包含节点描述信息。
在本发明实施例中,根据子节点判断子节点是否为叶子节点,若为叶子节点则直接筛选出该叶子节点,否则递归遍历,直到获取叶子节点为止。
具体地,由于子节点包含节点描述信息,将子节点对应的节点描述信息与预设信息进行比较,若节点描述信息与预设信息相同,则表示该节点描述信息对应的子节点为叶子节点,否则不为叶子节点。其中,预设信息是指用户根据实际需求设定的信息。
需要说明的是,筛选叶子节点的方式主要是判断子节点下是否还包含其他节点,若不包含则该子节点为叶子节点,具体可以通过树来联想,树生长在外的部分是由主干、分支、叶子组成的,主干上面分出分支,分支上面分出其他小分支或叶子,但是叶子却不能再分出其他东西,即叶子用于表示叶子节点。
S43:获取叶子节点对应的xml字段及xml字段对应的xml标识。
在本发明实施例中,从预设节点日志中获取叶子节点对应的xml字段及xml字段对应的xml标识。其中,预设节点日志是指专门用于记录叶子节点、、叶子节点包含的xml字段,以及xml字段对应的xml标识的日志。
S44:判断xml标识对应的映射关系是否为空,并根据判断结果将xml字段转换为json字段。
在本发明实施例中,根据步骤S43得到的xml标识,从预设配置表中获取该xml标识对应的映射关系,判断映射关系是否为空,并根据判断结果和预设转换方式,将xml字段转换为json字段。其中,预设转换方式是指用户预先设定根据不同的判断结果,利用不同转换方法将xml字段转换为json字段的处理方式。
本实施例中,针对xml树形结构中的每个参数根节点,获取参数根节点对应的子节点,从子节点中筛选出叶子节点,获取叶子节点对应的xml字段和xml字段对应的xml标识,最后判断xml标识对应的映射关系是否为空,并根据判断结果将xml字段转换为json字段。通过筛选出叶子节点,并对叶子节点包含的xml字段进行转换的方式,能够准确筛选出需要进行转换的数据,避免对多余数据进行转换导致转换出错,从而有效提高xml字段转换成json字段的效率和准确性。
在一实施例中,如图4所示,S44中,即判断xml标识对应的映射关系是否为空,并根据判断结果将xml字段转换为json字段包括如下步骤:
S441:获取xml标识对应的映射关系,并判断映射关系是否为空。
具体地,从预设配置表中获取该xml标识对应的映射关系,并判断映射关系是否为空。
S442:若映射关系为空,则将xml字段导入到预设转换端口中进行json文件格式转换处理,得到json字段。
在本发明实施例中,若映射关系为空,则获取xml标识对应的xml字段,将xml字段导入到预设转换端口中进行json文件格式转换处理,得到转换处理后的json字段。
例如,若映射关系为空,将xml字段“性别sex”转换成json字段“性别gender”的具体过程如下:
<sex>男</sex> à “gender”:”男”。
S443:若映射关系不为空,则从预设数据表中获取xml标识对应的叶子节点的节点值。
在本发明实施例中,若映射关系不为空,则获取该映射关系对应的xml标识,将该xml标识对应的叶子节点与预设数据表中的基础节点进行匹配,若匹配成功,则获取基础节点对应的值作为该叶子节点的节点值。
其中,预设数据表是指专门用于存储不同的基础节点及基础节点对应的值的数据表。
S444:识别节点值是否为预设值,并根据识别结果和映射关系,将xml字段转换为json字段。
在本发明实施例中,识别节点值是否为预设值,并根据识别结果和该节点值对应的xml标识的映射关系,通过预设目标转换方式将该节点值对应的xml字段转换为json字段。
其中,预设目标转换方式是指用户预先设定根据不同的识别结果和映射关系,利用不同转换方法将xml字段转换为json字段的处理方式。
本实施例中,通过获取xml标识对应的映射关系并判断是否为空,在判断为空的情况下,将xml字段导入到预设转换端口中转换成json字段,在判断不为空的情况下,获取xml标识对应的叶子节点的节点值,识别节点是是否为预设值,并根据识别结果和映射关系,将xml字段转换为json字段。通过判断映射关系是否为空的方式,能够获取与xml字段存在关联的数据,保证xml字段在进行json文件格式转换过程能够准确结合关联数据,进而提高json文件格式转换的准确性。
在一实施例中,如图5所示,步骤S444中,即识别节点值是否为预设值,并根据识别结果和映射关系,将xml字段转换为json字段包括如下步骤:
S4441:将节点值与预设值进行比较。
具体地,将将节点值与预设值进行比较。其中,预设值是指根据用户实际需求设定的值,其具体可以是空值,此处不做限制。
S4442:当节点值为预设值时,从预设节点表中获取节点值对应的叶子节点的默认值。
在本发明实施例中,对节点值进行识别,当识别到节点值为预设值时,从预设节点表中获取节点值对应的叶子节点的默认值。
预设节点表是指专门用于记录叶子节点及叶子节点对应的默认值的数据表。
S4443:根据默认值和映射关系,将xml字段转换为json字段。
在本发明实施例中,由于映射关系不为空,即映射关系为基础结构和基础字段,将默认值和基础字段添加到基础结构中,将添加了默认值和基础字段的基础结构作为json字段。
例如,若xml字段为sex,xml字段对应的基础结构为“{“”:“”}”,对应的基础字段为“gender”,默认值为“男”;将默认值和基础字段添加到基础结构后得到json字段{“gender”:“男”}。即 <sex/> -> {"gender":"男"}。
S4444:当节点值不为预设值时,从预设类型表中获取节点值对应的叶子节点的节点类型。
在本发明实施例中,对节点值进行识别,当识别到节点值不为预设值时,将该节点值对应的叶子节点与预设类型表中的类型节点进行比较,选取与叶子节点相同的类型节点对应的类型,作为该叶子节点的节点类型。
其中,预设类型表是指专门用于存储不同的叶子节点及叶子节点对应的类型的数据表。
例如,预设值为空值,若叶子节点表示性别,其对应的节点值为男,则表示该叶子节点对应的节点值不为预设值。
S4445:将节点类型与预设类型进行比较。
具体地,将节点类型与预设类型进行比较。其中,预设类型是指根据用户实际需求设定的数据类型,其具体可以是list类型,此处不作限制。
S4446:若节点类型与预设类型不同,则将xml字段转换为json字段。
在本发明实施例中,根据步骤S4445的比较方式,若节点类型与预设类型不同,则获取该节点类型对应的xml字段,并从预设配置表中获取该xml字段对应的xml标识的映射关系,即获取基础结构和基础字段,将节点值和基础字段添加到基础结构中,将添加了节点值和基础字段的基础结构作为json字段。
S4447:若节点类型与预设类型相同,则对xml字段进行数组处理并转换为json字段。
在本发明实施例中,根据步骤S4445的比较方式,若节点类型与预设类型相同,则获取该节点类型对应的xml字段,将该xml字段导入到预设数据处理端口中进行转换处理,得到转换处理后的json字段。
其中,预设数据处理端口是指根据用户实际需求设定对xml字段进行数据处理并转换为json字段的处理端口。
需要说明的是,数组处理的过程具体可为:当预设数据处理端口识别到xml字段hobby,其包含的值为:游泳、跑步、爬山;节点类型为:"type":"List",从预设配置表中获取与该xml字段对应的基础字段和基础结构,若基础字段为love,基础结构为““”:[]”,将基础字段添加到基础结构后得到数据结构 "love":[] ,然后将hobby包含的值"游泳、跑步、爬山"取出来赋给这个数据结构,并将赋予值后的数据结构作为转换后的json字段。即转换过程如下:
<hobby>游泳</hobby>
<hobby>跑步</hobby>
<hobby>爬山</hobby> -> {"love": ["游泳","跑步","爬山"]}。
本实施例中,将节点值与预设值进行比较,当识别到节点值为预设值时,获取节点值对应的叶子节点的默认值,并根据默认值和映射关系,将xml字段转换为json字段,当识别到节点值不为预设值时,获取节点值对应的叶子节点的节点类型,并将节点类型与预设类型进行比较,在比较不同情况下将xml字段转换为json字段,在比较相同情况下对xml字段进行数据处理并转换为json字段。通过识别节点值是否为预设值的方式,能够增加不同情况下对xml字段进行不同方式的转换,提高转换过程的适应性,避免转换过程单一导致存在数据无法准确识别的情况,从而提高json文件格式转换的准确性。
在一实施例中,xml文件可存储于区块链中。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种文件格式转换装置,该文件格式转换装置与上述实施例中文件格式转换方法一一对应。如图6所示,该文件格式转换装置包括第一获取模块61,第二获取模块62,解析模块63,转换模块64,判断模块65,完成模块66和未完成模块67。各功能模块详细说明如下:
第一获取模块61,用于当服务端与客户端发生交互时,获取客户端发送的xml文件,其中,xml文件包含xml字段以及xml字段对应的xml标识;需要强调的是,为进一步保证上述xml文件的私密和安全性,上述xml文件还可以存储于一区块链的节点中;
第二获取模块62,用于从预设配置表中获取xml标识与json标识之间的映射关系,其中,预设配置表包含json标识与映射关系,其中,所述映射关系包括所述json标识对应的基础结构和基础字段;
解析模块63,用于对xml文件进行解析处理,得到xml树形结构;
转换模块64,用于基于映射关系和xml树形结构,对xml字段进行json文件格式转换处理,得到json字段;
判断模块65,用于判断每个xml字段是否都转换为json字段;
完成模块66,用于若每个xml字段都转换为json字段,则完成文件格式转换;
未完成模块67,用于若存在至少一个xml字段未转换为json字段,则对未转换成json字段的xml字段继续进行json文件格式转换处理,直到每个xml字段都转换为json字段为止。
进一步地,第二获取模块62包括:
匹配子模块,用于将xml标识与预设配置表中的json标识进行匹配;
匹配相同子模块,用于若xml标识与json标识相匹配,则获取json标识对应的基础结构和基础字段,作为xml标识与json标识之间的映射关系;
匹配不同子模块,用于若xml标识与json标识不匹配,则映射关系为空。
进一步地,转换模块64包括:
第三获取子模块,用于针对xml树形结构中的每个参数根节点,从预设参数表中获取与参数根节点存在关联关系的子节点;
比较子模块,用于将子节点对应的节点描述信息与预设信息进行比较,选取比较相同的子节点作为叶子节点,其中,子节点包含节点描述信息;
第四获取子模块,用于获取叶子节点对应的xml字段及xml字段对应的xml标识;
判断子模块,用于判断xml标识对应的映射关系是否为空,并根据判断结果将xml字段转换为json字段。
进一步地,判断子模块包括:
第五获取单元,用于获取xml标识对应的映射关系,并判断映射关系是否为空;
第一判断单元,用于若映射关系为空,则将xml字段导入到预设转换端口中进行json文件格式转换处理,得到json字段;
第二判断单元,用于若映射关系不为空,则从预设数据表中获取xml标识对应的叶子节点的节点值;
识别单元,用于识别节点值是否为预设值,并根据识别结果和映射关系,将xml字段转换为json字段。
进一步地,识别单元包括:
值比较子单元,用于将节点值与预设值进行比较;
第六获取子单元,用于当节点值为预设值时,从预设节点表中获取节点值对应的叶子节点的默认值;
第一转换子单元,用于根据默认值和映射关系,将xml字段转换为json字段;
第七获取子单元,用于当节点值不为预设值时,从预设类型表中获取节点值对应的叶子节点的节点类型;
类型比较子单元,用于将节点类型与预设类型进行比较;
第二转换子单元,用于若节点类型与预设类型不同,则将xml字段转换为json字段;
第三转换单元,用于若节点类型与预设类型相同,则对xml字段进行数组处理并转换为json字段。
进一步地,该文件格式转换装置还包括:
存储模块,用于xml文件可存储于区块链中。
本申请的一些实施例公开了计算机设备。具体请参阅图7,为本申请的一实施例中计算机设备70基本结构框图。
如图7中所示意的,所述计算机设备70包括通过系统总线相互通信连接存储器71、处理器72、网络接口73。需要指出的是,图7中仅示出了具有组件71-73的计算机设备70,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器 (Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器71至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器71可以是所述计算机设备70的内部存储单元,例如该计算机设备70的硬盘或内存。在另一些实施例中,所述存储器71也可以是所述计算机设备70的外部存储设备,例如该计算机设备70上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital, SD)卡,闪存卡(Flash Card)等。当然,所述存储器71还可以既包括所述计算机设备70的内部存储单元也包括其外部存储设备。本实施例中,所述存储器71通常用于存储安装于所述计算机设备70的操作系统和各类应用软件,例如所述文件格式转换方法的程序代码等。此外,所述存储器71还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器72在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器72通常用于控制所述计算机设备70的总体操作。本实施例中,所述处理器72用于运行所述存储器71中存储的程序代码或者处理数据,例如运行所述文件格式转换方法的程序代码。
所述网络接口73可包括无线网络接口或有线网络接口,该网络接口73通常用于在所述计算机设备70与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有xml文件信息录入程序,所述xml文件信息录入程序可被至少一个处理器执行,以使所述至少一个处理器执行上述任意一种文件格式转换方法的步骤。
需要强调的是,为进一步保证上述xml文件的私密和安全性,上述xml文件还可以存储于一区块链的节点中
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台计算机设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
最后应说明的是,显然以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (6)
1.一种文件格式转换方法,应用于xml文件格式转换为json文件格式,其特征在于,所述文件格式转换方法包括:
当服务端与客户端发生交互时,获取所述客户端发送的xml文件,其中,所述xml文件包含xml字段以及所述xml字段对应的xml标识;
从预设配置表中获取所述xml标识与json标识之间的映射关系,其中,预设配置表包含所述json标识与所述映射关系,其中,所述映射关系包括所述json标识对应的基础结构和基础字段;
对所述xml文件进行解析处理,得到xml树形结构,所述树形结构包含参数根节点、子节点和叶子节点,所述叶子节点包含所述xml字段;
针对所述xml树形结构中的每个所述参数根节点,从预设参数表中获取与所述参数根节点存在关联关系的所述子节点;
将所述子节点对应的节点描述信息与预设信息进行比较,选取比较相同的所述子节点作为所述叶子节点,其中,所述子节点包含所述节点描述信息;
获取所述叶子节点对应的所述xml字段及所述xml字段对应的所述xml标识;
获取所述xml标识对应的映射关系,并判断所述映射关系是否为空;
若所述映射关系为空,则将所述xml字段导入到预设转换端口中进行json文件格式转换处理,得到json字段;
若所述映射关系不为空,则从预设数据表中获取所述xml标识对应的叶子节点的节点值;
将所述节点值与预设值进行比较;
当所述节点值为预设值时,从预设节点表中获取所述节点值对应的叶子节点的默认值;
根据所述默认值和所述映射关系,将所述xml字段转换为所述json字段;
当所述节点值不为预设值时,从预设类型表中获取所述节点值对应的叶子节点的节点类型;
将所述节点类型与预设类型进行比较;
若所述节点类型与预设类型不同,则将所述xml字段转换为所述json字段;
若所述节点类型与预设类型相同,则对所述xml字段进行数组处理并转换为所述json字段;
判断每个所述xml字段是否都转换为所述json字段;
若每个所述xml字段都转换为所述json字段,则完成文件格式转换;
若存在至少一个所述xml字段未转换为所述json字段,则对未转换成所述json字段的xml字段继续进行json文件格式转换处理,直到每个所述xml字段都转换为所述json字段为止;
所述从预设配置表中获取所述xml标识与json标识之间的映射关系的步骤包括:
将所述xml标识与预设配置表中的json标识进行匹配;
若所述xml标识与所述json标识相匹配,则获取所述json标识对应的基础结构和基础字段,作为所述xml标识与所述json标识之间的映射关系;
若所述xml标识与所述json标识不匹配,则所述映射关系为空。
2.如权利要求1所述的文件格式转换方法,其特征在于,所述xml文件存储于区块链中。
3.一种文件格式转换装置,其特征在于,所述的文件格式转换装置实现如权利要求1至2中任一项所述的文件格式转换方法的步骤,所述文件格式转换装置包括:
第一获取模块,用于当服务端与客户端发生交互时,获取所述客户端发送的xml文件,其中,所述xml文件包含xml字段以及所述xml字段对应的xml标识;
第二获取模块,用于从预设配置表中获取所述xml标识与json标识之间的映射关系,其中,预设配置表包含所述json标识与所述映射关系,其中,所述映射关系包括所述json标识对应的基础结构和基础字段;
解析模块,用于对所述xml文件进行解析处理,得到xml树形结构,所述树形结构包含参数根节点、子节点和叶子节点,所述叶子节点包含所述xml字段;
转换模块,用于针对所述xml树形结构中的每个所述参数根节点,从预设参数表中获取与所述参数根节点存在关联关系的所述子节点;将所述子节点对应的节点描述信息与预设信息进行比较,选取比较相同的所述子节点作为所述叶子节点,其中,所述子节点包含所述节点描述信息;获取所述叶子节点对应的所述xml字段及所述xml字段对应的所述xml标识;获取所述xml标识对应的映射关系,并判断所述映射关系是否为空;若所述映射关系为空,则将所述xml字段导入到预设转换端口中进行json文件格式转换处理,得到json字段;若所述映射关系不为空,则从预设数据表中获取所述xml标识对应的叶子节点的节点值;将所述节点值与预设值进行比较;当所述节点值为预设值时,从预设节点表中获取所述节点值对应的叶子节点的默认值;根据所述默认值和所述映射关系,将所述xml字段转换为所述json字段;当所述节点值不为预设值时,从预设类型表中获取所述节点值对应的叶子节点的节点类型;将所述节点类型与预设类型进行比较;若所述节点类型与预设类型不同,则将所述xml字段转换为所述json字段;若所述节点类型与预设类型相同,则对所述xml字段进行数组处理并转换为所述json字段;
判断模块,用于判断每个所述xml字段是否都转换为所述json字段;
完成模块,用于若每个所述xml字段都转换为所述json字段,则完成文件格式转换;
未完成模块,用于若存在至少一个所述xml字段未转换为所述json字段,则对未转换成所述json字段的xml字段继续进行json文件格式转换处理,直到每个所述xml字段都转换为所述json字段为止。
4.如权利要求3所述的文件格式转换装置,其特征在于,所述第二获取模块包括:
匹配子模块,用于将所述xml标识与预设配置表中的json标识进行匹配;
匹配相同子模块,用于若所述xml标识与所述json标识相匹配,则获取所述json标识对应的基础结构和基础字段,作为所述xml标识与所述json标识之间的映射关系;
匹配不同子模块,用于若所述xml标识与所述json标识不匹配,则所述映射关系为空。
5.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至2任一项所述的文件格式转换方法的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至2任一项所述的文件格式转换方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010769281.2A CN111858472B (zh) | 2020-08-03 | 2020-08-03 | 文件格式转换方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010769281.2A CN111858472B (zh) | 2020-08-03 | 2020-08-03 | 文件格式转换方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111858472A CN111858472A (zh) | 2020-10-30 |
CN111858472B true CN111858472B (zh) | 2023-09-05 |
Family
ID=72952942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010769281.2A Active CN111858472B (zh) | 2020-08-03 | 2020-08-03 | 文件格式转换方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111858472B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112364206A (zh) * | 2020-11-12 | 2021-02-12 | 广东海启星海洋科技有限公司 | 一种对多格式数据文件进行解析翻译的方法及装置 |
CN113095044A (zh) * | 2021-04-13 | 2021-07-09 | 中国工商银行股份有限公司 | 一种文件转换方法、装置及设备 |
CN113268955A (zh) * | 2021-05-21 | 2021-08-17 | 北京京东振世信息技术有限公司 | 报文转换的方法和装置 |
CN114040018A (zh) * | 2021-10-11 | 2022-02-11 | 许昌许继软件技术有限公司 | 一种基于json数据格式的数据收发方法及装置 |
CN113901271A (zh) * | 2021-12-10 | 2022-01-07 | 飞狐信息技术(天津)有限公司 | 基于电子表格配置系统的方法、装置、存储介质和设备 |
CN115048922A (zh) * | 2022-06-20 | 2022-09-13 | 上海联影医疗科技股份有限公司 | 一种数据解析方法和装置 |
CN115563187B (zh) * | 2022-10-17 | 2023-08-04 | 中航信移动科技有限公司 | 一种数据转换方法、存储介质及电子设备 |
CN115794735B (zh) * | 2022-11-18 | 2023-08-29 | 中远海运散货运输有限公司 | 电子海图数据更新的文件转换方法、系统、设备及介质 |
CN116522871B (zh) * | 2023-07-05 | 2024-01-09 | 鹏城实验室 | 数据格式转换方法、装置、设备和存储介质 |
CN116882366B (zh) * | 2023-09-07 | 2024-01-19 | 粤芯半导体技术股份有限公司 | 标记型报文的结构转换方法、装置、电子产品和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559322A (zh) * | 2013-11-22 | 2014-02-05 | 方正国际软件有限公司 | 文档格式转换方法 |
CN103559321A (zh) * | 2013-11-22 | 2014-02-05 | 方正国际软件有限公司 | 文档格式转换系统 |
CN109657103A (zh) * | 2018-12-19 | 2019-04-19 | 广州天鹏计算机科技有限公司 | 数据结构的转换方法、装置、计算机设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9639631B2 (en) * | 2013-02-27 | 2017-05-02 | Cellco Partnership | Converting XML to JSON with configurable output |
EP3457665A1 (en) * | 2017-09-18 | 2019-03-20 | Thomson Licensing | Method and device for transforming data |
-
2020
- 2020-08-03 CN CN202010769281.2A patent/CN111858472B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559322A (zh) * | 2013-11-22 | 2014-02-05 | 方正国际软件有限公司 | 文档格式转换方法 |
CN103559321A (zh) * | 2013-11-22 | 2014-02-05 | 方正国际软件有限公司 | 文档格式转换系统 |
CN109657103A (zh) * | 2018-12-19 | 2019-04-19 | 广州天鹏计算机科技有限公司 | 数据结构的转换方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111858472A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111858472B (zh) | 文件格式转换方法、装置、计算机设备及存储介质 | |
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN109344154B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112183782B (zh) | 故障工单处理方法及设备 | |
CN103888254A (zh) | 一种网络验证信息的方法和装置 | |
WO2019019640A1 (zh) | 订单信息的模拟处理方法、装置、存储介质和计算机设备 | |
CN109165209B (zh) | 数据库中对象类型的数据校验方法、装置、设备及介质 | |
CN111563075B (zh) | 一种业务校验系统、方法及设备和存储介质 | |
CN111708673A (zh) | 一种日志数据压缩方法、装置、设备和存储介质 | |
CN112817935A (zh) | 基于字段类型的数据处理方法、装置、设备及存储介质 | |
CN112181835A (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN111209736A (zh) | 文本文件解析方法、装置、计算机设备及存储介质 | |
US10782942B1 (en) | Rapid onboarding of data from diverse data sources into standardized objects with parser and unit test generation | |
CN111724110A (zh) | 地址信息处理方法、装置、计算机设备和存储介质 | |
CN106570095A (zh) | 一种xml数据的操作方法及设备 | |
CN115099922B (zh) | 财务数据查询方法、系统、可读存储介质及计算机设备 | |
CN110019485A (zh) | 一种产品数据入库方法、终端设备及存储介质 | |
CN112416784A (zh) | 基于配置中心的接口校验方法、系统及装置及存储介质 | |
WO2021072872A1 (zh) | 基于字符转换的姓名存储方法、装置、计算机设备 | |
CN111324645B (zh) | 区块链的数据处理方法及装置 | |
CN115408059A (zh) | 前端和服务端数据交互方法、装置和计算机设备 | |
CN115858345A (zh) | 应用服务模块的校验方法、装置、电子设备和存储介质 | |
CN114463002A (zh) | 跨链交易的合法性验证方法、装置、计算机设备及介质 | |
CN111427571A (zh) | 一种数据校验方法和装置 | |
CN114265870B (zh) | 一种基于代码扫描的问题识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210209 Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.) Applicant after: Shenzhen saiante Technology Service Co.,Ltd. Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000 Applicant before: Ping An International Smart City Technology Co.,Ltd. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |