CN108694045A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN108694045A CN108694045A CN201710078240.7A CN201710078240A CN108694045A CN 108694045 A CN108694045 A CN 108694045A CN 201710078240 A CN201710078240 A CN 201710078240A CN 108694045 A CN108694045 A CN 108694045A
- Authority
- CN
- China
- Prior art keywords
- attribute
- name
- type
- data
- exchange format
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法及装置,数据处理方法包括:获取待处理数据交换格式数据;若待处理数据交换格式数据中包含对象的属性名,基于预先配置的待处理数据交换格式数据对应的源类型集合和目标类型,判断对象的属性名的类型是否需要转换,其中,源类型集合包括待处理数据交换格式数据中的对象的属性名可匹配的至少一个类型,目标类型为待处理数据交换格式数据中的对象的属性名在数据转换过程中需要转换成的类型;若对象的属性名的类型需要转换,将对象的属性名的类型转换为目标类型。本发明只需要预先配置源类型集合和目标类型即可,而不再需要在程序中写入对方对象的属性名与自己对象的属性名的对应关系,操作简单。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据处理方法及装置。
背景技术
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,主要用于传送数据。在程序传递数据中,需将某一对象存储至一个存储媒介中,通过网络或其它手段进行传输,而JSON便为目前较为常用的存储媒介。实现数据传递包括两个过程,即序列化过程和反序列化过程,上述将某一对象存储至一个存储媒介中的过程为即为序列化过程,而反序列化过程,即为从存储媒介中读取数据形成对象的过程。
目前,程序间进行数据通信时,通常会在不同的编程语言环境下进行,如服务端使用C#语言编写,而在网页运行Javascript脚本或是其它语言环境。在使用Json格式时,通常都需要在开发阶段确定对方的数据格式,因为数据格式可能会影响能否成功将数据反序列化为对象。在确定对方的数据格式后,如果程序中的数据格式不同,为了保证反序列成功,通常的解决方法是:在程序中写明对方对象的属性名与自己对象的属性名的一一对应关系。
然而,在实际应用时,为了确保在不同的语言环境中,程序可以正确识别JSON中的对象的属性名以解析JSON数据,总是需要写出一一对应关系,即对于不同的语言环境,每次都要写出一一对应关系,操作比较繁琐。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的技术方案:
一种数据处理方法,包括:
获取待处理数据交换格式数据;
若所述待处理数据交换格式数据中包含对象的属性名,基于预先配置的所述待处理数据交换格式数据对应的源类型集合和目标类型,判断所述对象的属性名的类型是否需要转换,其中,所述源类型集合包括所述待处理数据交换格式数据中的对象的属性名可匹配的至少一个类型,所述目标类型为所述待处理数据交换格式数据中的对象的属性名在数据转换过程中需要转换成的类型;
若所述对象的属性名的类型需要转换,将所述对象的属性名的类型转换为所述目标类型。
其中,在所述获取待处理数据交换格式数据之后,所述方法还包括:
遍历所述待处理数据交换格式数据,判断所述待处理数据交换格式数据中是否包含所述对象的属性名;
若不包含所述对象的属性名,直接输出所述待处理数据交换格式数据。
其中,所述若所述待处理数据交换格式数据中包含对象的属性名,基于预先配置的所述待处理数据交换格式数据对应的源类型集合和目标类型,判断所述对象的属性名的类型是否需要转换包括:
获取所述待处理数据交换格式数据中包含的所述对象的属性名的类型;
判断所述对象的属性名的类型是否处于所述待处理数据交换格式数据对应的源类型集合中;
若所述对象的属性名的类型处于所述待处理数据交换格式数据对应的源类型集合中,进一步判断所述对象的属性名的类型是否与所述待处理数据交换格式数据对应的目标类型一致;
若所述对象的属性名的类型与所述待处理数据交换格式数据对应的目标类型不一致,则判断所述对象的属性名的类型需要转换。
其中,所述若所述待处理数据交换格式数据中包含对象的属性名,基于预先配置的所述待处理数据交换格式数据对应的源类型集合和目标类型,判断所述对象的属性名的类型是否需要转换还包括:
若所述对象的属性名的类型与所述待处理数据交换格式数据对应的目标类型一致,则判断所述对象的属性名的类型不需要转换。
其中,所述若所述待处理数据交换格式数据中包含对象的属性名,基于预先配置的所述待处理数据交换格式数据对应的源类型集合和目标类型,判断所述对象的属性名的类型是否需要转换还包括:
若所述对象的属性名的类型未处于所述源类型集合中,则判断所述对象的属性名的类型不需要转换。
其中,在获取所述待处理数据交换格式数据中包含的对象的属性名的类型之前,所述方法还包括:
获取所述待处理数据交换格式数据中包含的对象的属性名的格式;
基于所述对象的属性名的格式判断所述对象的属性名是否为预先设置的需保护的对象的属性名;
若是,直接输出所述待处理数据交换格式数据;
若否,进入获取所述待处理数据交换格式数据中包含的对象的属性名的类型的步骤。
一种数据处理装置,包括:第一获取单元、第一判断单元和转换单元;
所述第一获取单元,用于获取待处理数据交换格式数据;
所述第一判断单元,用于当所述第一获取单元获取的所述待处理数据交换格式数据中包含对象的属性名时,基于预先配置的所述待处理数据交换格式数据对应的源类型集合和目标类型,判断所述对象的属性名的类型是否需要转换,其中,所述源类型集合包括所述待处理数据交换格式数据中的对象的属性名可匹配的至少一个类型,所述目标类型为所述待处理数据交换格式数据中的对象的属性名在数据转换过程中需要转换成的类型;
所述转换单元,用于当所述第一判断单元判断出所述对象的属性名的类型需要转换时,将所述对象的属性名的类型转换为所述目标类型。
所述数据处理装置还包括:第二判断单元和第一输出单元;
所述第二判断单元,用于遍历所述待处理数据交换格式数据,判断所述待处理数据交换格式数据中是否包含所述对象的属性名;
所述第一输出单元,用于当所述第二判断单元判断出所述待处理数据交换格式数据中不包含所述对象的属性名时,直接输出所述待处理数据交换格式数据。
其中,所述判断单元,包括:获取子单元、第一判断子单元和第二判断子单元;
所述获取子单元,用于获取所述待处理数据交换格式数据中包含的所述对象的属性名的类型;
所述第一判断子单元,用于判断所述对象的属性名的类型是否处于所述待处理数据交换格式数据对应的源类型集合中;
所述第二判断子单元,用于当所述第一判断子单元判断出所述对象的属性名的类型处于所述待处理数据交换格式数据对应的源类型集合中时,判断所述对象的属性名的类型是否与所述待处理数据交换格式数据对应的目标类型一致,若所述对象的属性名的类型与所述待处理数据交换格式数据对应的目标类型不一致,则判断所述对象的属性名的类型需要转换。
所述数据处理装置,还包括:第二获取单元、第三判断单元、第二输出单元;
所述第二获取单元,用于获取所述待处理数据交换格式数据中包含的对象的属性名的格式;
所述第三判断单元,用于基于所述对象的属性名的格式判断所述对象的属性名是否为预先设置的需保护的对象的属性名;
所述第二输出单元,用于当所述对象的属性名为预先设置的需保护的对象的属性名时,直接输出所述待处理数据交换格式数据;
所述获取子单元,还用于当所述对象的属性名不为预先设置的需保护的对象的属性名时,获取所述待处理数据交换格式数据中包含的对象的属性名的格式。
借由上述技术方案,本发明提供的数据处理方法及装置,能够获取待处理数据交换格式数据,并在待处理数据交换格式数据中包含对象的属性名时,基于预先配置的待处理数据交换格式数据对应的源类型集合和目标类型,判断对象的属性名的类型是否需要转换,若对象的属性名的类型需要转换,将对象的属性名的类型转换为目标类型。由此可见,本发明提供的数据处理方法及装置,只需要预先配置待处理数据交换格式数据对应的源类型集合和目标类型即可,而不再需要在程序中写入对方对象的属性名与自己对象的属性名的对应关系,操作简单。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的数据处理方法的一流程示意图;
图2示出了本发明实施例提供的数据处理方法的另一流程示意图;
图3示出了本发明实施例提供的数据处理装置的一结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种数据处理方法,请参阅图1,示出了该数据处理方法的流程示意图,可以包括:
步骤S101:获取待处理数据交换格式数据。
其中,待处理数据交换格式数据可以为JSON数据,其为将目标对象进行序列化后得到的数据,目标对象为由发送方传输至接收方的数据,JSON相当于存储媒介,将目标对象通过网络或其它手段传输至接收方,接收方通过反序列化得到目标对象。
需要说明的是,将目标对象进行序列化得到的JSON数据以“{”开始,并以“}”结束。JSON数据包含一系列非排序的名称/值对,每个名称/值对之间使用“,”分区。其中,每个名称/值对的名称和值之间使用“:”隔开,一般的形式是name:value,一个名称是一个字符串,一个值可以是一个字符串、一个数值、一个对象、一个布尔值、一个有序列表或者一个null值。
示例性的,C#代码将一个对象定义为:
string AxBx;
int CxDx;
序列化为JSON数据为:
步骤S102:若待处理数据交换格式数据中包含对象的属性名,基于预先配置的待处理数据交换格式数据对应的源类型集合和目标类型,判断对象的属性名的类型是否需要转换。
其中,待处理数据交换格式数据对应的源类型集合包括待处理数据交换格式数据中的对象的属性名可匹配的至少一个类型,即待处理数据交换格式数据中可能会出现的名称的类型,示例性的,待处理数据交换格式数据为JSON数据,则源类型集合可以包括LowerCamel、Lower Hyphen、Lower Underscore、Upper Camel。目标类型为待处理数据交换格式数据中的对象的属性名在数据转换过程中需要转换成的类型。
步骤S103:若对象的属性名的类型需要转换,将对象的属性名的类型转换为目标类型。
需要说明的是,本实施例中的目标类型可以为一个,也可以为多个。对于目标类型为一个的情况,在配置时,只需要配置出该目标类型即可,而对于目标类型为多个的情况,需要配置源类型集合中所包括的类型与目标类型的对应关系,即配置源类型集合中的哪个类型对应哪个目标类型。示例性的,源类型集合包括LowerCamel、LowerHyphen和LowerUnderscore,可以配置LowerCamel和LowerHyphen对应的目标类型为LowerCamel,配置LowerUnderscore对应的目标类型为UpperCamel。
以待处理数据交换格式数据为JSON数据为例,在将JSON数据中需要进行类型转换的对象的属性名转换为目标类型之后,便获得了处理后的JSON数据,进而可直接对其进行反序列化,获得目标对象。通过对待处理的JSON数据基于预先配置的源类型集合和目标类型进行处理,使得在对其进行反序列化时不需要考虑对象的属性名匹配的问题,而直接获取目标对象。
另外,需要说明的是,若待处理数据交换格式数据中所包含的对象的属性名均不需要转换,则直接输出该待处理数据交换格式数据。
本发明实施例提供的数据处理方法,能够获取待处理数据交换格式数据,并在待处理数据交换格式数据中包含对象的属性名,基于预先配置的待处理数据交换格式数据对应的源类型集合和目标类型,判断对象的属性名的类型是否需要转换,若对象的属性名的类型需要转换,将对象的属性名的类型转换为目标类型。本发明实施例提供的数据处理方法,只需要预先配置源类型集合和目标类型即可,而不再需要在程序中写入对方对象的属性名与自己对象的属性名的对应关系,操作简单。
请参阅图2,示出了本发明实施例提供的数据处理方法的另一流程示意图,该数据处理方法可以包括:
步骤S201:获取待处理数据交换格式数据。
步骤S202:遍历待处理数据交换格式数据,判断待处理数据交换格式数据中是否包含对象的属性名,若是,则进入步骤S203,否则,直接输出待处理数据交换格式数据。
步骤S203:从待处理数据交换格式数据中获取一待处理的对象的属性名。
步骤S204:获取待处理的对象的属性名的格式。
步骤S205:基于待处理的对象的属性名的格式判断待处理的对象的属性名是否为预先设置的需保护的对象的属性名,若是,则进入步骤S210,否则,进入步骤S206。
可以理解的是,待处理数据交换格式数据(如JSON数据)中可能存在一些特殊的属性名,如专有的属性名(如WHO开头的属性名)或是不希望进行格式转换的属性名,在预先配置信息时,将该类属性名配置成需保护的对象的属性名。如果待处理的对象的属性名为需保护的对象的属性名,则表明该待处理的对象的属性名不需要进行转换。
具体的,需保护的对象的属性名可能包括多个,在配置时,可将多个需保护的对象的属性名配置成需保护的属性名集合,具体的,基于待处理的对象的属性名的格式判断待处理的对象的属性名是否为预先设置的需保护的对象的属性名的过程可以包括:基于待处理的对象的属性名的格式在需保护的属性名集合中查找与待处理的对象的属性名匹配的属性名,获得查找结果,如果查找结果表明在需保护的属性名集合中查找到与待处理的对象的属性名匹配的属性名,则判定待处理的对象的属性名为预先设置的需保护的对象的属性名,否则,判定待处理的对象的属性名不为预先设置的需保护的对象的属性名。
进一步的,需保护的属性名集合中,与待处理的对象的属性名匹配的属性名可能为与待处理的对象的属性名完全相同的属性名,也可能为与待处理的对象的属性名中的部分信息相同的属性名(例如,需保护的属性名集合中包括WHO_,而待处理的对象的属性名为WHO_name,由于待处理的对象的属性名中的WHO_与需保护的属性名集合中的WHO_相同,因此,判定待处理的对象的属性名为预先设置的需保护的对象的属性名。
步骤S206:获取待处理的对象的属性名的类型。
可以理解的是,不同类型的属性名,其格式是不同的,因此,在本实施例中,可基于待处理的对象的属性名的格式确定待处理对象的属性名的类型。
示例性的,程序中常用的属性名类型包括:Lower Camel、Lower Hyphen、LowerUnderscore、Upper Camel。其中:
Lower Camel类型的属性名格式为:pageNumber;
Lower Hyphen类型的属性名格式为:page-number;
Lower Underscore类型的属性名格式为:page_number;
Upper Camel类型的属性名格式为:PageNumber。
步骤S207:判断待处理的对象的属性名的类型是否处于待处理数据交换格式数据对应的源类型集合中,若是,则进入步骤S208,否则,进入步骤S210。
其中,待处理数据交换格式数据对应的源类型集合包括待处理数据交换格式数据中的对象的属性名可匹配的至少一个类型,即待处理数据交换格式数据中可能会出现的名称的类型。
判断待处理的对象的属性名是否处于待处理数据交换格式数据对应的源类型集合中包括:在源类型集合中查找与待处理的对象的属性名的类型相同的类型,获得查找结果,如果查找结果表明在源类型集合中查找到与待处理的对象的属性名的类型相同的类型,则判定待处理的对象的属性名的类型处于源类型集合中,如果查找结果表明在源类型集合中未查找到与待处理的对象的属性名的类型相同的类型,则判定待处理的对象的属性名的类型未处于源类型集合中。
在本实施例中,如果待处理的对象的属性名的类型未处于源类型集合中,则不对该待处理的对象的属性名进行任何处理。需要说明的是,在实际应用中一般会在源类型集合中配置待处理数据交换格式数据中可能会出现的名称的所有类型,但也可能存在因为某种需求而在源类型集合中对某一源类型不予添加的情况,此时相当于没有对该源类型配置目标类型,这种情况就是不希望程序进行处理,是基于使用者对配置的要求。
步骤S208:判断待处理的对象的属性名的类型是否与待处理数据交换格式数据对应的目标类型一致,若是,进入步骤S210,否则,进入步骤S209。
其中,目标类型为待处理数据交换格式数据中的对象的属性名在数据转换过程中需要转换成的类型,即待处理数据交换格式数据中需要进行转换的对象的属性名需要转换成什么类型的属性名,也就是程序接收方所要求的类型。可以理解的是,如果待处理的对象的属性名本身即为接收方所要求的类型,则不需要对其进行转换。
其中,判断待处理的对象的属性名的类型是否为目标类型,即判断待处理的对象的属性名的类型与目标类型是否相同,如果相同,则表明待处理的对象的属性名的类型即为目标类型,否则,待处理的对象的属性名的类型不为目标类型。
步骤S209:将待处理的对象的属性名的类型转换为目标类型,然后进入步骤S210。
步骤S210:判断待处理数据交换格式数据中是否还有待处理的对象的属性名,如果是,则转入步骤S203,否则,表明处理结束,然后执行步骤S211。
步骤S211:输出处理后的数据交换格式数据。
本发明实施例提供的数据处理方法,能够获取待处理数据交换格式数据,并在待处理数据交换格式数据中包含对象的属性名,基于预先配置的待处理数据交换格式数据对应的源类型集合和目标类型,判断对象的属性名的类型是否需要转换,若对象的属性名的类型需要转换,将对象的属性名的类型转换为目标类型。本发明实施例提供的数据处理方法,只需要预先配置源类型集合和目标类型即可,而不再需要在程序中写入对方对象的属性名与自己对象的属性名的对应关系,操作简单。
下面以待处理数据交换格式数据为JSON数据为例对上述本发明实施例提供的数据处理方法进行说明:
在对待处理JSON数据进行处理之前,预先配置如下信息:
1、源类型集合U:{Lower Camel,Lower Hyphen,Upper Camel};
2、目标类型T:Lower Camel;
3、需保护的属性名集合R:{以WHO_开头的对象的属性名}。
基于配置的源类型集合U、目标类型T和需保护的属性名集合R对待处理JSON数据进行处理的过程为:
首先,获取待处理JSON数据,假设获取的JSON数据为:
其次,将待处理JSON数据中的每个待处理的对象的属性名基于配置的源类型集合U、目标类型T和需保护的属性名集合R对待处理JSON数据进行处理:
具体的,首先获取第一个待处理的对象的属性名"AxBx",由于"AxBx"未处于需保护的属性名集合R中,因此,进一步确定"AxBx"的类型,通过"AxBx"的格式可确定"AxBx"的类型为Upper Camel,判断"AxBx"的类型Upper Camel是否存处于源类型集合U中,由于Upper Camel处于源类型集合U中,进一步判断Upper Camel是否为目标类型,由于UpperCamel不为目标类型Lower Camel,因此,"AxBx"为需要进行转换的属性名,则将JSON数据中的"AxBx"转换为Lower Camel类型的属性名"axBx"。
由于JSON数据中还存在待处理的对象的属性名,因此,接着获取第二个待处理的对象的属性名"cx-dx",由于"cx-dx"未处于需保护的属性名集合R中,因此,进一步确定"cx-dx"的类型,通过"cx-dx"的格式可以确定"cx-dx"的类型为Lower Hyphen,判断LowerHyphen是否处于源类型集合U中,由于Lower Hyphen处于源类型集合U中,进一步判断LowerHyphen是否为目标类型,由于Lower Hyphen不为目标类型Lower Camel,因此,"cx-dx"为需要进行转换的属性名,则将JSON数据中的"cx-dx"转换为Lower Camel类型的属性名"cxDx"。
由于JSON数据中还存在待处理的对象的属性名,因此,接着获取第三个待处理的对象的属性名"ex_fx",由于"ex_fx"未处于需保护的属性名集合R中,因此,进一步确定"ex_fx"的类型,通过"ex_fx"的格式可以确定"ex_fx"的类型为Lower Underscore,判断Lower Underscore是否处于源类型集合U中,由于Lower Underscore未处于源类型集合U中,因此,判定"ex_fx"为不需要进行转换的对象的属性名,即不对"ex_fx"进行任何处理。
由于JSON数据中还存在待处理的对象的属性名,因此,接着获取第四个待处理的对象的属性名"gxHx",由于"gxHx"未处于需保护的属性名集合R中,因此,进一步确定"gxHx"的类型,通过"gxHx"的格式可以确定"gxHx"的类型为Lower Camel,判断Lower Camel是否处于源类型集合U中,由于Lower Underscore处于源类型集合U中,进一步判断LowerCamel是否为目标类型,由于Lower Camel是目标类型,表明"gxHx"为不需要进行转换的属性名,则不对"gxHx"进行任何处理。
由于JSON数据中还存在待处理的对象的属性名,因此,接着获取第五个待处理的对象的属性名"WHO_name",由于"WHO_name"为以WHO_开头的属性名,因此,其处于需保护的属性名集合R中,由于需保护的属性名集合R中的属性名均为一些不需要转换的特殊属性名,因此,待处理的对象的属性名"WHO_name"为不需要进行转换的属性名,则不对"WHO_name"进行任何处理。
经判断JSON数据中不存在待处理的对象的属性名,即所有的属性名均处理完,此时,获得处理后的JSON数据,处理后的JSON数据如下所示:
通过上述处理过程获得的JSON数据为符合程序接收方要求的数据,程序接受方接收到处理后的JSON数据之后,可直接对其进行反序列化,得到目标对象,而不用考虑对象的属性名匹配的问题。
与上述数据处理方法相对应,本发明实施例还提供了一种数据处理装置,请参阅图3,示出了该数据处理装置的结构示意图,该装置可以包括:第一获取单元301、第一判断单元302和转换单元303。其中:
第一获取单元301,用于获取待处理数据交换格式数据。
第一判断单元302,用于当第一获取单元301获取的待处理数据交换格式数据中包含对象的属性名时,基于预先配置的待处理数据交换格式数据对应的源类型集合和目标类型,判断对象的属性名的类型是否需要转换。
其中,源类型集合包括待处理数据交换格式数据中的对象的属性名可匹配的至少一个类型,即待处理数据交换格式数据中可能会出现的名称的类型,目标类型为待处理数据交换格式数据中的对象的属性名在数据转换过程中需要转换成的类型。
转换单元303,用于当第一判断单元302判断出对象的属性名的类型需要转换时,将对象的属性名的类型转换为目标类型。
本发明实施例提供的数据处理装置,能够获取待处理数据交换格式数据,并在待处理数据交换格式数据中包含对象的属性名,基于预先配置的待处理数据交换格式数据对应的源类型集合和目标类型,判断对象的属性名的类型是否需要转换,若对象的属性名的类型需要转换,将对象的属性名的类型转换为目标类型。本发明实施例提供的数据处理装置,只需要预先配置源类型集合和目标类型即可,而不再需要在程序中写入对方对象的属性名与自己对象的属性名的对应关系,操作简单。
上述实施例提供的数据处理装置,还可以包括:第二判断单元和第一输出单元。
第二判断单元,用于遍历待处理数据交换格式数据,判断待处理数据交换格式数据中是否包含对象的属性名。
第一输出单元,用于当第二判断单元判断出待处理数据交换格式数据中不包含对象的属性名时,直接输出待处理数据交换格式数据。
上述实施例提供的数据处理装置中,第一判断单元可以包括:获取子单元、第一判断子单元和第二判断子单元。
获取子单元,用于获取待处理数据交换格式数据中包含的对象的属性名的类型。
第一判断子单元,用于判断对象的属性名的类型是否处于待处理数据交换格式数据对应的源类型集合中。
第二判断子单元,用于当第一判断子单元判断出对象的属性名的类型处于待处理数据交换格式数据对应的源类型集合中时,判断对象的属性名的类型是否与待处理数据交换格式数据对应的目标类型一致,若对象的属性名的类型与待处理数据交换格式数据对应的目标类型不一致,则判断对象的属性名的类型需要转换。
第二判断子单元,还用于当第一判断子单元判断出对象的属性名的类型未处于待处理数据交换格式数据对应的源类型集合中时,判断对象的属性名的类型不需要转换。
第二判断子单元,还用于当对象的属性名的类型与待处理数据交换格式数据对应的目标类型一致时,判断对象的属性名的类型不需要转换。
上述实施例提供的数据处理装置还可以包括:第二获取单元、第三判断单元和第二输出单元。
第二获取单元,用于获取待处理数据交换格式数据中包含的对象的属性名的格式。
第三判断单元,用于基于对象的属性名的格式判断对象的属性名是否为预先设置的需保护的对象的属性名。
第二输出单元,用于当对象的属性名为预先设置的需保护的对象的属性名时,直接输出待处理数据交换格式数据。
获取子单元,还用于当对象的属性名不为预先设置的需保护的对象的属性名时,获取待处理数据交换格式数据中包含的对象的属性名的格式。
所述数据处理装置包括处理器和存储器,上述第一获取单元、第一判断单元和转换单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来基于预先配置的待处理数据交换格式数据对应的源类型集合和目标类型对待处理数据交换格式数据中包含的对象的属性名进行转换。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供的数据处理装置,能够获取待处理数据交换格式数据,并在待处理数据交换格式数据中包含对象的属性名,基于预先配置的待处理数据交换格式数据对应的源类型集合和目标类型,判断对象的属性名的类型是否需要转换,若对象的属性名的类型需要转换,将对象的属性名的类型转换为目标类型。本发明实施例提供的数据处理装置,只需要预先配置源类型集合和目标类型即可,而不再需要在程序中写入对方对象的属性名与自己对象的属性名的对应关系,操作简单。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:获取待处理数据交换格式数据;若待处理数据交换格式数据中包含对象的属性名,基于预先配置的待处理数据交换格式数据对应的源类型集合和目标类型,判断对象的属性名的类型是否需要转换,其中,源类型集合包括待处理数据交换格式数据中的对象的属性名可匹配的至少一个类型,目标类型为待处理数据交换格式数据中的对象的属性名在数据转换过程中需要转换成的类型;若对象的属性名的类型需要转换,将对象的属性名的类型转换为目标类型。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的单元或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取待处理数据交换格式数据;
若所述待处理数据交换格式数据中包含对象的属性名,基于预先配置的所述待处理数据交换格式数据对应的源类型集合和目标类型,判断所述对象的属性名的类型是否需要转换,其中,所述源类型集合包括所述待处理数据交换格式数据中的对象的属性名可匹配的至少一个类型,所述目标类型为所述待处理数据交换格式数据中的对象的属性名在数据转换过程中需要转换成的类型;
若所述对象的属性名的类型需要转换,将所述对象的属性名的类型转换为所述目标类型。
2.根据权利要求1所述的方法,其特征在于,在所述获取待处理数据交换格式数据之后,所述方法还包括:
遍历所述待处理数据交换格式数据,判断所述待处理数据交换格式数据中是否包含所述对象的属性名;
若不包含所述对象的属性名,直接输出所述待处理数据交换格式数据。
3.根据权利要求1或2所述的方法,其特征在于,所述若所述待处理数据交换格式数据中包含对象的属性名,基于预先配置的所述待处理数据交换格式数据对应的源类型集合和目标类型,判断所述对象的属性名的类型是否需要转换包括:
获取所述待处理数据交换格式数据中包含的所述对象的属性名的类型;
判断所述对象的属性名的类型是否处于所述待处理数据交换格式数据对应的源类型集合中;
若所述对象的属性名的类型处于所述待处理数据交换格式数据对应的源类型集合中,进一步判断所述对象的属性名的类型是否与所述待处理数据交换格式数据对应的目标类型一致;
若所述对象的属性名的类型与所述待处理数据交换格式数据对应的目标类型不一致,则判断所述对象的属性名的类型需要转换。
4.根据权利要求3所述的方法,其特征在于,所述若所述待处理数据交换格式数据中包含对象的属性名,基于预先配置的所述待处理数据交换格式数据对应的源类型集合和目标类型,判断所述对象的属性名的类型是否需要转换还包括:
若所述对象的属性名的类型与所述待处理数据交换格式数据对应的目标类型一致,则判断所述对象的属性名的类型不需要转换。
5.根据权利要求3所述的方法,其特征在于,所述若所述待处理数据交换格式数据中包含对象的属性名,基于预先配置的所述待处理数据交换格式数据对应的源类型集合和目标类型,判断所述对象的属性名的类型是否需要转换还包括:
若所述对象的属性名的类型未处于所述源类型集合中,则判断所述对象的属性名的类型不需要转换。
6.根据权利要求3所述的方法,其特征在于,在获取所述待处理数据交换格式数据中包含的对象的属性名的类型之前,所述方法还包括:
获取所述待处理数据交换格式数据中包含的对象的属性名的格式;
基于所述对象的属性名的格式判断所述对象的属性名是否为预先设置的需保护的对象的属性名;
若是,直接输出所述待处理数据交换格式数据;
若否,进入获取所述待处理数据交换格式数据中包含的对象的属性名的类型的步骤。
7.一种数据处理装置,其特征在于,包括:第一获取单元、第一判断单元和转换单元;
所述第一获取单元,用于获取待处理数据交换格式数据;
所述第一判断单元,用于当所述第一获取单元获取的所述待处理数据交换格式数据中包含对象的属性名时,基于预先配置的所述待处理数据交换格式数据对应的源类型集合和目标类型,判断所述对象的属性名的类型是否需要转换,其中,所述源类型集合包括所述待处理数据交换格式数据中的对象的属性名可匹配的至少一个类型,所述目标类型为所述待处理数据交换格式数据中的对象的属性名在数据转换过程中需要转换成的类型;
所述转换单元,用于当所述第一判断单元判断出所述对象的属性名的类型需要转换时,将所述对象的属性名的类型转换为所述目标类型。
8.根据权利要求6所述的数据处理装置,其特征在于,所述数据处理装置还包括:第二判断单元和第一输出单元;
所述第二判断单元,用于遍历所述待处理数据交换格式数据,判断所述待处理数据交换格式数据中是否包含所述对象的属性名;
所述第一输出单元,用于当所述第二判断单元判断出所述待处理数据交换格式数据中不包含所述对象的属性名时,直接输出所述待处理数据交换格式数据。
9.根据权利要求7或8所述的数据处理装置,其特征在于,所述判断单元,包括:获取子单元、第一判断子单元和第二判断子单元;
所述获取子单元,用于获取所述待处理数据交换格式数据中包含的所述对象的属性名的类型;
所述第一判断子单元,用于判断所述对象的属性名的类型是否处于所述待处理数据交换格式数据对应的源类型集合中;
所述第二判断子单元,用于当所述第一判断子单元判断出所述对象的属性名的类型处于所述待处理数据交换格式数据对应的源类型集合中时,判断所述对象的属性名的类型是否与所述待处理数据交换格式数据对应的目标类型一致,若所述对象的属性名的类型与所述待处理数据交换格式数据对应的目标类型不一致,则判断所述对象的属性名的类型需要转换。
10.根据权利要求9所述的数据处理装置,其特征在于,所述数据处理装置,还包括:第二获取单元、第三判断单元、第二输出单元;
所述第二获取单元,用于获取所述待处理数据交换格式数据中包含的对象的属性名的格式;
所述第三判断单元,用于基于所述对象的属性名的格式判断所述对象的属性名是否为预先设置的需保护的对象的属性名;
所述第二输出单元,用于当所述对象的属性名为预先设置的需保护的对象的属性名时,直接输出所述待处理数据交换格式数据;
所述获取子单元,还用于当所述对象的属性名不为预先设置的需保护的对象的属性名时,获取所述待处理数据交换格式数据中包含的对象的属性名的格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078240.7A CN108694045A (zh) | 2017-02-14 | 2017-02-14 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710078240.7A CN108694045A (zh) | 2017-02-14 | 2017-02-14 | 一种数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108694045A true CN108694045A (zh) | 2018-10-23 |
Family
ID=63841724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710078240.7A Pending CN108694045A (zh) | 2017-02-14 | 2017-02-14 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108694045A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831713A (zh) * | 2019-04-18 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及设备 |
CN112783581A (zh) * | 2021-01-21 | 2021-05-11 | 上海哔哩哔哩科技有限公司 | 数据处理方法、装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866331A (zh) * | 2009-12-24 | 2010-10-20 | 北京信息科技大学 | 不同语种xml文档的转换方法及装置 |
US20130060816A1 (en) * | 2011-09-07 | 2013-03-07 | International Business Machines Corporation | Transforming hierarchical language data into relational form |
CN103294462A (zh) * | 2012-03-05 | 2013-09-11 | 阿里巴巴集团控股有限公司 | 对象映射处理方法、映射处理器和对象映射处理系统 |
CN103605518A (zh) * | 2013-11-19 | 2014-02-26 | 北京国双科技有限公司 | 对象反序列化方法和装置 |
CN105117379A (zh) * | 2015-09-11 | 2015-12-02 | 广州华多网络科技有限公司 | 自动转换程序文本的方法及装置 |
-
2017
- 2017-02-14 CN CN201710078240.7A patent/CN108694045A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866331A (zh) * | 2009-12-24 | 2010-10-20 | 北京信息科技大学 | 不同语种xml文档的转换方法及装置 |
US20130060816A1 (en) * | 2011-09-07 | 2013-03-07 | International Business Machines Corporation | Transforming hierarchical language data into relational form |
CN103294462A (zh) * | 2012-03-05 | 2013-09-11 | 阿里巴巴集团控股有限公司 | 对象映射处理方法、映射处理器和对象映射处理系统 |
CN103605518A (zh) * | 2013-11-19 | 2014-02-26 | 北京国双科技有限公司 | 对象反序列化方法和装置 |
CN105117379A (zh) * | 2015-09-11 | 2015-12-02 | 广州华多网络科技有限公司 | 自动转换程序文本的方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831713A (zh) * | 2019-04-18 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及设备 |
CN112783581A (zh) * | 2021-01-21 | 2021-05-11 | 上海哔哩哔哩科技有限公司 | 数据处理方法、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106980669B (zh) | 一种数据的存储、获取方法及装置 | |
WO2017053892A1 (en) | Method and apparatus for transferring data between databases | |
CN106970820A (zh) | 代码存储方法及代码存储装置 | |
CN109558479A (zh) | 一种规则匹配方法、装置、设备及存储介质 | |
CN105830417A (zh) | 用于替换和调试现场设备的方法和系统 | |
CN106649788A (zh) | 一种数据库数据传输方法与装置 | |
US9747549B2 (en) | Guiding metaheuristic to search for best of worst | |
CN106598828B (zh) | 一种源代码中的无效类确定方法及装置 | |
CN102915344B (zh) | 一种sql语句处理方法及装置 | |
CN106407111A (zh) | 终端测试装置、终端测试设备及变量维护方法 | |
CN109726217A (zh) | 一种数据库操作方法、装置、设备及存储介质 | |
CN109977157A (zh) | 一种基于数据平台将数据导入目标目录的方法和电子设备 | |
CN110019111A (zh) | 数据处理方法、装置、存储介质以及处理器 | |
CN108694045A (zh) | 一种数据处理方法及装置 | |
CN102929853B (zh) | 基于Excel表单关联的DCS项目数据生成系统和方法 | |
CN106294530B (zh) | 规则匹配的方法和系统 | |
CN106802901A (zh) | 数据库查询的方法及装置 | |
CN108509447A (zh) | 数据处理方法及装置 | |
CN105867886B (zh) | 一种写表格的方法及装置 | |
CN104462157B (zh) | 一种文本数据二次结构化的方法及装置 | |
CN103176843B (zh) | MapReduce分布式系统的文件迁移方法及设备 | |
CN106484375B (zh) | 一种指令块加载方法、软交换设备及系统 | |
CN108170953A (zh) | 一种电路图迁移方法和装置 | |
CN109960497A (zh) | 一种脚本文件间的调用方法及装置 | |
CN109032576A (zh) | 一种基于配置的跨平台应用生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100080 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: BEIJING GRIDSUM TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181023 |
|
RJ01 | Rejection of invention patent application after publication |