CN112433787A - 目标对象的序列化方法、装置、电子设备及存储介质 - Google Patents
目标对象的序列化方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112433787A CN112433787A CN202011251443.XA CN202011251443A CN112433787A CN 112433787 A CN112433787 A CN 112433787A CN 202011251443 A CN202011251443 A CN 202011251443A CN 112433787 A CN112433787 A CN 112433787A
- Authority
- CN
- China
- Prior art keywords
- target object
- keyword
- value
- keywords
- conversion
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 238000006243 chemical reaction Methods 0.000 claims abstract description 123
- 230000006870 function Effects 0.000 claims description 71
- 238000012546 transfer Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开关于一种目标对象的序列化方法、装置、电子设备及存储介质,其中,所述方法包括:获取待序列化的目标对象;根据所述目标对象的结构信息生成转换协议;根据所述转换协议中的关键词和所述关键词的值的数据类型生成转换函数;根据所述转换函数对所述目标对象执行序列化。本公开先根据目标对象的结构信息生成转换协议,转换协议中包含了目标对象的关键词以及关键词的值的数据类型,避免了开发人员识别目标对象的关键词以及关键词的值的数据类型,节省了人力成本,而且,根据转换协议生成转换函数,利用转换函数对目标对象执行序列化,实现了目标对象序列化的自动化执行过程,提升了目标对象序列化的效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种目标对象的序列化方法、装置、电子设备及存储介质。
背景技术
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-2623rd Edition-December1999)脚本语言的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。易于阅读和编写,同时也易于机器解析和生成。序列化(Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。
相关技术中,在对JSON进行序列化时,由于JS具有很强的动态性,开发人员需要识别大量的数据类型,例如,对于字符串类型、数组类型等等,而且,开发人员还需要针对不同的数据类型执行具体的序列化操作。因此,现有的JSON序列化消耗了大量的人力成本,JSON序列化的效率较低。
发明内容
本公开提供了一种目标对象的序列化方法、装置、电子设备及存储介质,以至少解决相关技术中JSON序列化消耗大量人力成本,以及效率低的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供了一种目标对象的序列化方法,包括:获取待序列化的目标对象;根据所述目标对象的结构信息生成转换协议;根据所述转换协议中的关键词和所述关键词的值的数据类型生成转换函数;根据所述转换函数对所述目标对象执行序列化。
可选地,所述根据所述目标对象的结构信息生成转换协议,包括:根据所述目标对象中的关键词、所述目标对象中的关键词的值的数据类型,以及所述目标对象中的关键词和所述目标对象中的关键词的值在所述目标对象中的位置信息生成所述转换协议。
可选地,所述根据所述目标对象中的关键词、所述目标对象中的关键词的值的数据类型,以及所述目标对象中的关键词和所述目标对象中的关键词的值在所述目标对象中的位置信息生成所述转换协议,包括:按照所述目标对象中的关键词和所述目标对象中的关键词的值在所述目标对象中的位置信息,将所述目标对象中的关键词和所述目标对象中的关键词的值的数据类型组合为所述转换协议。
可选地,所述根据所述转换协议中的关键词和所述关键词的值的数据类型生成转换函数,包括:为所述关键词和所述关键词的值分别设定对应的键值转换函数;按照所述关键词和所述关键词的值在所述转换协议中的位置信息,将所述键值转换函数拼接为所述转换函数。
可选地,所述根据所述转换函数对所述目标对象执行序列化,包括:根据所述与所述关键词对应的键值转换函数,为所述关键词的两侧添加预设的第一符号。
可选地,所述根据所述转换函数对所述目标对象执行序列化,包括:当所述关键词的值的数据类型为预设的第一类数据类型时,根据所述与所述关键词的值对应的键值转换函数,保持所述关键词的值不变;所述第一类数据类型包含字符串类型、数值类型、数组类型、布尔类型和空类型。
可选地,所述根据所述转换函数对所述目标对象执行序列化,包括:当所述关键词的值的数据类型为预设的第二类数据类型时,根据所述与所述关键词的值对应的键值转换函数,为所述关键词的值中包含的关键词的两侧添加所述第一符号,并保持所述关键词的值中包含的关键词的值不变;所述第二类数据类型包含对象类型。
根据本公开实施例的第二方面,提供了一种目标对象的序列化装置,包括:获取模块,被配置为获取待序列化的目标对象;协议生成模块,被配置为根据所述目标对象的结构信息生成转换协议;函数生成模块,被配置为根据所述转换协议中的关键词和所述关键词的值的数据类型生成转换函数;执行模块,被配置为根据所述转换函数对所述目标对象执行序列化。
可选地,所述协议生成模块,被配置为根据所述目标对象中的关键词、所述目标对象中的关键词的值的数据类型,以及所述目标对象中的关键词和所述目标对象中的关键词的值在所述目标对象中的位置信息生成所述转换协议。
可选地,所述协议生成模块,被配置为按照所述目标对象中的关键词和所述目标对象中的关键词的值在所述目标对象中的位置信息,将所述目标对象中的关键词和所述目标对象中的关键词的值的数据类型组合为所述转换协议。
可选地,所述函数生成模块,包括:工具设定模块,被配置为为所述关键词和所述关键词的值分别设定对应的键值转换函数;工具拼接模块,被配置为按照所述关键词和所述关键词的值在所述转换协议中的位置信息,将所述键值转换函数拼接为所述转换函数。
可选地,所述执行模块,被配置为根据所述与所述关键词对应的键值转换函数,为所述关键词的两侧添加预设的第一符号。
可选地,所述执行模块,被配置为当所述关键词的值的数据类型为预设的第一类数据类型时,根据所述与所述关键词的值对应的键值转换函数,保持所述关键词的值不变;所述第一类数据类型包含字符串类型、数值类型、数组类型、布尔类型和空类型。
可选地,所述执行模块,被配置为当所述关键词的值的数据类型为预设的第二类数据类型时,根据所述与所述关键词的值对应的键值转换函数,为所述关键词的值中包含的关键词的两侧添加所述第一符号,并保持所述关键词的值中包含的关键词的值不变;所述第二类数据类型包含对象类型。根据本公开实施例的第三方面,提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的目标对象的序列化方法。
根据本公开实施例的第四方面,提供了一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面所述的目标对象的序列化方法。
根据本公开实施例的第五方面,提供了一种计算机程序产品,包括可读性程序代码,所述可读性程序代码可由电子设备的处理器执行以完成上述第一方面所述的目标对象的序列化方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开的实施例提供的目标对象的序列化方案,根据待序列化的目标对象的结构信息生成转换协议,然后,根据转换协议中的关键词和关键词的值的数据类型生成转换函数,最终,利用转换函数对目标对象进行序列化。
本公开的实施例先根据目标对象的结构信息生成转换协议,转换协议中包含了目标对象的关键词以及关键词的值的数据类型,避免了开发人员识别目标对象的关键词以及关键词的值的数据类型,节省了人力成本,而且,根据转换协议生成转换函数,利用转换函数对目标对象执行序列化,实现了目标对象序列化的自动化执行过程,提升了目标对象序列化的效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种目标对象的序列化方法的流程图。
图2是根据一示例性实施例示出的一种目标对象的序列化装置的框图。
图3是根据一示例性实施例示出的一种目标对象的序列化电子设备的框图。
图4是根据一示例性实施例示出的一种用于对目标对象进行序列化的电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种目标对象的序列化方法的流程图,如图1所示,该目标对象的序列化方法具体可以包括以下步骤。
在步骤S11中,获取待序列化的目标对象。
在本公开的实施例中,目标对象可以为客观世界中存在的人、事、物体等实体在计算机逻辑中的映射。目标对象可以包含JSON字符串、可扩展标记语言(Extensible MarkupLanguage,简称XML)字符串等,本公开的实施例以目标对象为JSON字符串为例进行说明。
在步骤S12中,根据目标对象的结构信息生成转换协议。
在本公开的实施例中,JSON字符串中可以包含关键词(key)和关键词的值(value),而且,JSON字符串中可以包含不止一个关键词和关键词的值。关键词、关键词的值以及关键词和关键词的值在JSON字符串中的位置信息可以共同作为JSON字符串的结构信息。
在本公开的实施例中,根据JSON字符串的结构信息生成的转换协议中可以包含JSON字符串中的关键词、关键词的值的数据类型,以及关键词、关键词的值在JSON字符串中的位置信息等。
在步骤S13中,根据转换协议中的关键词和关键词的值的数据类型生成转换函数。
在本公开的实施例中,在上述步骤S12生成转换协议之后,利用转换协议生成用于对JSON字符串进行序列化的转换函数。
在步骤S14中,根据转换函数对目标对象执行序列化。
在本公开的实施例中,在上述步骤S13生成转换函数之后,利用转换函数对JSON字符串中的关键词和关键词的值进行转换,以便实现对JSON字符串的序列化。
本公开的实施例提供的目标对象的序列化方案,根据待序列化的目标对象的结构信息生成转换协议,然后,根据转换协议中的关键词和关键词的值的数据类型生成转换函数,最终,利用转换函数对目标对象进行序列化。
本公开的实施例先根据目标对象的结构信息生成转换协议,转换协议中包含了目标对象的关键词以及关键词的值的数据类型,避免了开发人员识别目标对象的关键词以及关键词的值的数据类型,节省了人力成本,而且,根据转换协议生成转换函数,利用转换函数对目标对象执行序列化,实现了目标对象序列化的自动化执行过程,提升了目标对象序列化的效率。
在本公开的一种示例性实施例中,以上述目标对象为JSON字符串[{name:'jack',age:12,info:{city:'beijing'}}]为例进行说明。其中,JSON字符串中的name、age、info均为关键词,'jack'为关键词name的值,12为关键词age的值,city:'beijing'为关键词info的值。需要强调的是,关键词info的值又可以包含关键词city和关键词city的值'beijing'。
在上述步骤S12的执行过程中,可以根据目标对象中的关键词、目标对象中的关键词的值的数据类型,以及目标对象中的关键词和目标对象中的关键词的值在目标对象中的位置信息生成转换协议scheme。接上例,JSON字符串中的关键词name、age、info,关键词name的值'jack'的数据类型为字符串(String)类型,关键词age的值12的数据类型为数值(Number)类型,关键词info的值city:'beijing'为对象(Object)类型。在实际应用中,可以按照目标对象中的关键词和目标对象中的关键词的值在目标对象中的位置信息,将目标对象中的关键词和目标对象中的关键词的值的数据类型组合为转换协议scheme。接上例,按照关键词name、关键词name的值'jack'、关键词age、关键词age的值12、关键词info、关键词info的值city:'beijing'在JSON字符串中的位置信息,将关键词name、关键词name的值'jack'的数据类型String、关键词age、关键词age的值12的数据类型Number、关键词info、关键词info的值city:'beijing'的数据类型Object组合为转换协议scheme,即转换协议scheme为{name:String,age:Number,info:Object}。需要说明的是,JSON字符串中相邻的关键词之间的“,”在转换协议scheme中保留,而且,JSON字符串中的“[”和“]”在转换协议scheme中删除。
在本公开的一种示例性实施例中,在上述步骤S13的执行过程中,可以为转换协议scheme中的关键词和关键词的值分别设定对应的键值转换函数,然后按照转换协议scheme中的关键词和关键词的值在转换协议scheme中的位置信息,将键值转换函数拼接为转换函数stringfy。
在本公开的一种示例性实施例中,在上述步骤S14的执行过程中,可以根据与关键词对应的键值转换函数,为关键词的两侧添加预设的第一符号。在实际应用中,与关键词name、age、info对应的键值转换函数可以将关键词name、age、info分别转换为"name"、"age"、"info"。即根据与关键词对应的键值转换函数,为关键词的两侧添加“"”。
在本公开的一种示例性实施例中,在上述步骤S14的执行过程中,当关键词的值的数据类型为预设的第一类数据类型时,该第一类数据类型可以为字符串类型、数值类型、数组类型、布尔类型和空类型中的任意一种。此时可以根据与关键词的值对应的键值转换函数,保持关键词的值不变。在实际应用中,与关键词name的值'jack'对应的键值转换函数可以按照值'jack'的数据类型String保持值'jack'不变,仍然为'jack'。与关键词age的值12对应的键值转换函数可以按照值12的数据类型Number保持值12不变,仍然为12。
在本公开的一种示例性实施例中,在上述步骤S14的执行过程中,当关键词的值的数据类型为预设的第二类数据类型时,该第二类数据类型可以为对象类型。此时可以根据与关键词的值对应的键值转换函数,为关键词的值中包含的关键词的两侧添加第一符号,并保持关键词的值中包含的关键词的值不变。在实际应用中,与关键词info的值city:'beijing'对应的键值转换函数可以按照值city:'beijing'的数据类型Object将值city:'beijing'转换为"city":'beijing'。即为关键词city的两侧添加“"”,并保持值'beijing'不变。
本公开的实施例中的JSON字符串可以作为超文本传输协议(Hyper TextTransfer Protocol,简称HTTP)请求中的请求内容,因此,可以将序列化后的JSON字符串添加到HTTP请求中,进而传输HTTP请求,并在接收HTTP请求时,通过反序列化转换为JSON字符串,实现了JSON字符串通过HTTP请求的传输。
图2是根据一示例性实施例示出的一种目标对象的序列化装置的框图。该装置具体可以包括如下模块。
获取模块21,被配置为获取待序列化的目标对象;
协议生成模块22,被配置为根据所述目标对象的结构信息生成转换协议;
函数生成模块23,被配置为根据所述转换协议中的关键词和所述关键词的值的数据类型生成转换函数;
执行模块24,被配置为根据所述转换函数对所述目标对象执行序列化。
在本公开的一种示例性实施例中,所述协议生成模块22,被配置为根据所述目标对象中的关键词、所述目标对象中的关键词的值的数据类型,以及所述目标对象中的关键词和所述目标对象中的关键词的值在所述目标对象中的位置信息生成所述转换协议。
在本公开的一种示例性实施例中,所述协议生成模块22,被配置为按照所述目标对象中的关键词和所述目标对象中的关键词的值在所述目标对象中的位置信息,将所述目标对象中的关键词和所述目标对象中的关键词的值的数据类型组合为所述转换协议。
在本公开的一种示例性实施例中,所述函数生成模块23,包括:
工具设定模块,被配置为为所述关键词和所述关键词的值分别设定对应的键值转换函数;
工具拼接模块,被配置为按照所述关键词和所述关键词的值在所述转换协议中的位置信息,将所述键值转换函数拼接为所述转换函数。
在本公开的一种示例性实施例中,所述执行模块24,被配置为根据所述与所述关键词对应的键值转换函数,为所述关键词的两侧添加预设的第一符号。
在本公开的一种示例性实施例中,所述执行模块24,被配置为当所述关键词的值的数据类型为预设的第一类数据类型时,根据所述与所述关键词的值对应的键值转换函数,保持所述关键词的值不变;所述第一类数据类型包含字符串类型、数值类型、数组类型、布尔类型和空类型。
在本公开的一种示例性实施例中,所述执行模块24,被配置为当所述关键词的值的数据类型为预设的第二类数据类型时,根据所述与所述关键词的值对应的键值转换函数,为所述关键词的值中包含的关键词的两侧添加所述第一符号,并保持所述关键词的值中包含的关键词的值不变;所述第二类数据类型包含对象类型。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图3是根据一示例性实施例示出的一种目标对象的序列化电子设备300的框图。例如,电子设备300可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图3,电子设备300可以包括以下一个或多个组件:处理组件302,存储器304,电力组件306,多媒体组件308,音频组件310,输入/输出(I/O)的接口312,传感器组件314,以及通信组件316。
处理组件302通常控制电子设备300的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件302可以包括一个或多个处理器320来执行指令,以完成上述目标对象的序列化方法的全部或部分步骤。此外,处理组件302可以包括一个或多个模块,便于处理组件302和其他组件之间的交互。例如,处理组件302可以包括多媒体模块,以方便多媒体组件308和处理组件302之间的交互。
存储器304被配置为存储各种类型的数据以支持在电子设备300的操作。这些数据的示例包括用于在电子设备300上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图像,视频等。存储器304可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件306为电子设备300的各种组件提供电力。电源组件306可以包括电源管理系统,一个或多个电源,及其他与为电子设备300生成、管理和分配电力相关联的组件。
多媒体组件308包括在所述电子设备300和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件308包括一个前置摄像头和/或后置摄像头。当电子设备300处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件310被配置为输出和/或输入音频信号。例如,音频组件310包括一个麦克风(MIC),当电子设备300处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器304或经由通信组件316发送。在一些实施例中,音频组件310还包括一个扬声器,用于输出音频信号。
I/O接口312为处理组件302和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件314包括一个或多个传感器,用于为电子设备300提供各个方面的状态评估。例如,传感器组件314可以检测到电子设备300的打开/关闭状态,组件的相对定位,例如所述组件为电子设备300的显示器和小键盘,传感器组件314还可以检测电子设备300或电子设备300一个组件的位置改变,用户与电子设备300接触的存在或不存在,电子设备300方位或加速/减速和电子设备300的温度变化。传感器组件314可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件314还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件314还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件316被配置为便于电子设备300和其他设备之间有线或无线方式的通信。电子设备300可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件316经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件316还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备300可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述目标对象的序列化方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器304,上述指令可由电子设备300的处理器320执行以完成上述目标对象的序列化方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括可读性程序代码,该可读性程序代码可由电子设备300的处理器320执行以完成上述目标对象的序列化方法。可选地,该程序代码可以存储在电子设备300的存储介质中,该存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图4是根据一示例性实施例示出的一种用于对目标对象进行序列化的电子设备400的框图。例如,电子设备400可以被提供为一服务器。参照图4,电子设备400包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422的执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述目标对象的序列化方法。
电子设备400还可以包括一个电源组件426被配置为执行电子设备400的电源管理,一个有线或无线网络接口450被配置为将电子设备400连接到网络,和一个输入输出(I/O)接口458。电子设备400可以操作基于存储在存储器432的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种目标对象的序列化方法,其特征在于,包括:
获取待序列化的目标对象;
根据所述目标对象的结构信息生成转换协议;
根据所述转换协议中的关键词和所述关键词的值的数据类型生成转换函数;
根据所述转换函数对所述目标对象执行序列化。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标对象的结构信息生成转换协议,包括:
根据所述目标对象中的关键词、所述目标对象中的关键词的值的数据类型,以及所述目标对象中的关键词和所述目标对象中的关键词的值在所述目标对象中的位置信息生成所述转换协议。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标对象中的关键词、所述目标对象中的关键词的值的数据类型,以及所述目标对象中的关键词和所述目标对象中的关键词的值在所述目标对象中的位置信息生成所述转换协议,包括:
按照所述目标对象中的关键词和所述目标对象中的关键词的值在所述目标对象中的位置信息,将所述目标对象中的关键词和所述目标对象中的关键词的值的数据类型组合为所述转换协议。
4.根据权利要求1所述的方法,其特征在于,所述根据所述转换协议中的关键词和所述关键词的值的数据类型生成转换函数,包括:
为所述关键词和所述关键词的值分别设定对应的键值转换函数;
按照所述关键词和所述关键词的值在所述转换协议中的位置信息,将所述键值转换函数拼接为所述转换函数。
5.根据权利要求4所述的方法,其特征在于,所述根据所述转换函数对所述目标对象执行序列化,包括:
根据所述与所述关键词对应的键值转换函数,为所述关键词的两侧添加预设的第一符号。
6.根据权利要求4所述的方法,其特征在于,所述根据所述转换函数对所述目标对象执行序列化,包括:
当所述关键词的值的数据类型为预设的第一类数据类型时,根据所述与所述关键词的值对应的键值转换函数,保持所述关键词的值不变;所述第一类数据类型包含字符串类型、数值类型、数组类型、布尔类型和空类型。
7.根据权利要求5所述的方法,其特征在于,所述根据所述转换函数对所述目标对象执行序列化,包括:
当所述关键词的值的数据类型为预设的第二类数据类型时,根据所述与所述关键词的值对应的键值转换函数,为所述关键词的值中包含的关键词的两侧添加所述第一符号,并保持所述关键词的值中包含的关键词的值不变;所述第二类数据类型包含对象类型。
8.一种目标对象的序列化装置,其特征在于,包括:
获取模块,被配置为获取待序列化的目标对象;
协议生成模块,被配置为根据所述目标对象的结构信息生成转换协议;
函数生成模块,被配置为根据所述转换协议中的关键词和所述关键词的值的数据类型生成转换函数;
执行模块,被配置为根据所述转换函数对所述目标对象执行序列化。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的目标对象的序列化方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述的目标对象的序列化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011251443.XA CN112433787A (zh) | 2020-11-09 | 2020-11-09 | 目标对象的序列化方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011251443.XA CN112433787A (zh) | 2020-11-09 | 2020-11-09 | 目标对象的序列化方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112433787A true CN112433787A (zh) | 2021-03-02 |
Family
ID=74700876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011251443.XA Pending CN112433787A (zh) | 2020-11-09 | 2020-11-09 | 目标对象的序列化方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433787A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113744822A (zh) * | 2021-04-19 | 2021-12-03 | 北京京东拓先科技有限公司 | 一种医疗数据处理方法、装置及存储介质 |
CN114117992A (zh) * | 2021-11-25 | 2022-03-01 | 北京力控元通科技有限公司 | 一种序列化和反序列化方法、装置和电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060036935A1 (en) * | 2004-06-23 | 2006-02-16 | Warner James W | Techniques for serialization of instances of the XQuery data model |
CN106777292A (zh) * | 2016-12-29 | 2017-05-31 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据序列化方法及装置 |
CN109408569A (zh) * | 2018-09-28 | 2019-03-01 | 平安科技(深圳)有限公司 | Json数据转换方法、装置、计算机设备及存储介质 |
CN109871519A (zh) * | 2019-02-18 | 2019-06-11 | 北京思特奇信息技术股份有限公司 | 一种无层级结构的json反序列化方法、装置及存储介质 |
CN110753050A (zh) * | 2019-10-22 | 2020-02-04 | 网易(杭州)网络有限公司 | 协议文档的生成方法及装置、计算机存储介质、电子设备 |
CN111756779A (zh) * | 2019-03-26 | 2020-10-09 | 阿里巴巴集团控股有限公司 | 数据序列化处理方法、装置及计算机系统 |
-
2020
- 2020-11-09 CN CN202011251443.XA patent/CN112433787A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060036935A1 (en) * | 2004-06-23 | 2006-02-16 | Warner James W | Techniques for serialization of instances of the XQuery data model |
CN106777292A (zh) * | 2016-12-29 | 2017-05-31 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据序列化方法及装置 |
CN109408569A (zh) * | 2018-09-28 | 2019-03-01 | 平安科技(深圳)有限公司 | Json数据转换方法、装置、计算机设备及存储介质 |
CN109871519A (zh) * | 2019-02-18 | 2019-06-11 | 北京思特奇信息技术股份有限公司 | 一种无层级结构的json反序列化方法、装置及存储介质 |
CN111756779A (zh) * | 2019-03-26 | 2020-10-09 | 阿里巴巴集团控股有限公司 | 数据序列化处理方法、装置及计算机系统 |
CN110753050A (zh) * | 2019-10-22 | 2020-02-04 | 网易(杭州)网络有限公司 | 协议文档的生成方法及装置、计算机存储介质、电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113744822A (zh) * | 2021-04-19 | 2021-12-03 | 北京京东拓先科技有限公司 | 一种医疗数据处理方法、装置及存储介质 |
CN114117992A (zh) * | 2021-11-25 | 2022-03-01 | 北京力控元通科技有限公司 | 一种序列化和反序列化方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11450322B2 (en) | Speech control method and electronic device | |
US11722449B2 (en) | Notification message preview method and electronic device | |
CN107423106B (zh) | 支持多框架语法的方法和装置 | |
WO2020207326A1 (zh) | 一种对话消息的发送方法及电子设备 | |
CN106201734B (zh) | 文件分享方法及装置 | |
WO2022078295A1 (zh) | 一种设备推荐方法及电子设备 | |
CN111343481B (zh) | 数据分享方法、装置、电子设备及存储介质 | |
CN112433787A (zh) | 目标对象的序列化方法、装置、电子设备及存储介质 | |
CN107463372B (zh) | 一种数据驱动的页面更新方法和装置 | |
CN110704030A (zh) | 接口配置信息生成方法、装置、电子设备及存储介质 | |
EP4167072A1 (en) | Method for opening file, and device | |
CN112035691A (zh) | 切片图像的细胞标注数据的展示方法及装置、设备和介质 | |
CN112328330A (zh) | iOS组件的调用方法、装置、中间件、电子设备及介质 | |
CN110221813B (zh) | 应用的数据连接建立方法、装置、存储介质和电子设备 | |
CN115022982B (zh) | 多屏协同无感接入方法、电子设备及存储介质 | |
CN112862349B (zh) | 基于abs业务数据的数据处理方法、装置和设备 | |
CN111131000B (zh) | 一种信息传输方法、装置、服务器、终端 | |
CN110457084B (zh) | 一种加载方法及装置 | |
CN110263211B (zh) | 资源同步方法及装置 | |
CN109032583B (zh) | 数据交互方法及装置 | |
CN111695064A (zh) | 一种埋点加载方法及装置 | |
US20200413372A1 (en) | Method and device for extending pbch | |
CN114268689B (zh) | 蓝牙设备的电量显示方法、终端及存储介质 | |
CN112182027B (zh) | 信息查询方法、装置、电子设备及存储介质 | |
CN112422597B (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 |