CN112817602B - 一种json格式数据发送、接收方法、设备及介质 - Google Patents
一种json格式数据发送、接收方法、设备及介质 Download PDFInfo
- Publication number
- CN112817602B CN112817602B CN202110218771.8A CN202110218771A CN112817602B CN 112817602 B CN112817602 B CN 112817602B CN 202110218771 A CN202110218771 A CN 202110218771A CN 112817602 B CN112817602 B CN 112817602B
- Authority
- CN
- China
- Prior art keywords
- json
- character string
- target character
- data
- simplest
- 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
- 238000000034 method Methods 0.000 title claims description 58
- 230000005540 biological transmission Effects 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 235000019800 disodium phosphate Nutrition 0.000 description 2
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Input From Keyboards Or The Like (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供了一种JSON格式数据发送、接收方法、设备及介质,在本发明实施例中,在对JSON数据进行传输时,将该JSON数据转化为不含Key值的第一目标字符串,并将该第一目标字符串插入到预先设置的第一最简JSON对象的Value中,由于该第一最简JSON对象中仅携带有一个Key值,并且插入的第一目标字符串中没有Key值,因此最大程度的减少了JSON格式数据发送过程中的冗余信息,减少了JSON格式数据传输过程中的流量损耗,提高了用户的使用感受。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种JSON格式数据发送、接收方法、设备及介质。
背景技术
JavaScript对象表示法(JavaScript Object Notation,JSON)是一种轻量级的数据交换格式,易于人阅读和书写,易于机器解析和生成。它可以被用来作为数据交换格式。虽然JSON有以上优点,但是其数据重复度依然比较高,文件越大,Key值重复次数越多,在移动互联网应用中传输JSON数据消耗的流量越大,于是就出现了一些JSON数据压缩方法。
JSON的压缩算法目前都是在不改变JSON数据结构的改变来实现压缩,其中主要是尽可能地节省掉重复的Key值,使得传输的JSON数据中出现的每种Key值都只有一个,但是对于JSON数据来说,仍然可能会存在很多种Key值。这样仍会有过多的冗余信息,在传输JSON数据时,仍会消耗大量的流量。
发明内容
本发明实施例提供了一种JSON格式数据发送、接收方法、装置、设备及介质,用以解决现有技术中在传输JSON数据时,JSON数据的冗余信息过多,导致的消耗流量大的问题。
第一方面,本发明实施例提供了一种JSON格式数据发送方法,所述方法包括:
根据第一JSON文件中第一键Key值的顺序,将待发送的第一JSON数据按照所述顺序排列,并在所述第一JSON数据删除第一Key值得到第一目标字符串;
将所述第一目标字符串插入到预先设置的第一最简JSON对象的Value中,其中所述第一最简JSON对象中携带有一个预设的Key值;
发送插入了所述第一目标字符串的第一最简JSON对象。
第二方面,本发明实施例还提供了一种JSON格式数据接收方法,所述方法包括:
若接收第一最简JSON对象,确定所述第一最简JSON对象中携带的第一目标字符串;
根据第一JSON文件中第一Key值的第一顺序,将所述第一目标字符串转化为携带有Key的第一JSON数据。
第三方面,本发明实施例还提供了一种JSON格式数据发送装置,所述装置包括:
接收处理模块,用于根据第一JSON文件中第一键Key值的顺序,将待发送的第一JSON数据按照所述顺序排列,并在所述第一JSON数据删除第一Key值得到第一目标字符串;
插入模块,用于将所述第一目标字符串插入到预先设置的第一最简JSON对象的Value中,其中所述第一最简JSON对象中携带有一个预设的Key值;
发送模块,用于发送插入了所述第一目标字符串的第一最简JSON对象。
第四方面,本发明实施例还提供了一种JSON格式数据接收装置,所述装置包括:
接收处理模块,用于若接收第一最简JSON对象,确定所述第一最简JSON对象中携带的第一目标字符串;
转化模块,用于根据第一JSON文件中第一Key值的第一顺序,将所述第一目标字符串转化为携带有Key的第一JSON数据。
第五方面,本发明实施例还提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现上述任一所述的JSON格式数据发送方法或JSON格式数据接收的步骤。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的JSON格式数据发送方法或JSON格式数据接收的步骤。
由于本发明实施例中根据第一JSON文件中第一键Key值的顺序,将待发送的第一JSON数据按照该顺序排列,并在该第一JSON数据删除第一Key值得到第一目标字符串,将该第一目标字符串插入到预先设置的第一最简JSON对象的Value中,其中该第一最简JSON对象中携带有一个预设的Key值,发送插入了该第一目标字符串的第一最简JSON对象。在本发明实施例中,在对JSON数据进行传输时,将该JSON数据转化为不含Key值的第一目标字符串,并将该第一目标字符串插入到预先设置的第一最简JSON对象的Value中,由于该第一最简JSON对象中仅携带有一个Key值,并且插入的第一目标字符串中没有Key值,因此最大程度的减少了JSON格式数据发送过程中的冗余信息,同时使得在普通的前后端交互的应用过程中,可以忽略掉Key值,减少了JSON格式数据传输过程中的流量损耗,提高了用户的使用感受。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种JSON格式数据发送过程示意图;
图2为本发明实施例提供的发送端设备与接收端设备交互的过程示意图;
图3为本发明实施例提供的一种JSON格式数据接收过程示意图;
图4为本发明实施例提供的一种JSON格式数据发送装置的结构示意图;
图5为本发明实施例提供的一种JSON格式数据接收装置的结构示意图;
图6为本发明实施例提供的一种电子设备结构示意图;
图7为本发明实施例提供的一种电子设备结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例提供了一种JSON格式数据发送、接收方法、装置、设备及介质,适用于通过JSON格式数据的传输。当发送端设备接收到第一JSON数据后,将该第一JSON转化为只含有一个Key值的第一最简JSON对象,并将该第一最简JSON对象发送给接收端设备。
为了减少数据发送过程中的冗余信息,减少数据传输过程中的流量损耗,提高了用户的使用感受,本发明实施例提供了一种JSON格式数据发送、接收方法、装置、设备及介质。
实施例1:
图1为本发明实施例提供的一种JSON格式数据发送过程示意图,该过程包括以下步骤:
S101:根据第一JSON文件中第一Key值的顺序,将待发送的第一JSON数据按照所述顺序排列,并在所述第一JSON数据删除第一Key值得到第一目标字符串。
本发明实施例提供的一种JSON格式数据发送方法应用于发送端设备,该发送端设备可以为手机、电视等终端设备,还可以是服务器等。
在本发明实施例中,预先保存有第一JSON文件,该第一JSON文件中记录有第一Key值的顺序,以及该第一Key值对应的值(Value)的类型,具体的,该Value的类型可以是数值类型(number)、字符串类型(varchar)以及布尔类型(boolean)等。
例如,在本发明实施例中,该第一JSON文件可以是如下内容:
在上述实施例中,该第一Key值为type、brand、price、max以及min,其中type对应的Value的类型为varchar,brand对应的Value的类型为varchar,price对应的Value的类型为对象,即“{"max":"number","min":"number"}”,max对应的Value的类型为number,min对应的Value的类型为number。
在本发明实施例中,JSON文件的命名比较固定,例如JSON文件的命名一般为getProduct Information.json文件,因此发送端设备可以根据统一资源定位符(UniformResource Locator,URL)找到该第一JSON文件。
在本发明实施例中,当接收到第一JSON数据后,根据该第一JSON文件中第一Key值的顺序,将该第一JSON数据按照该顺序进行重新排列。例如,若待发送的第一JSON数据中的第一Key值的顺序为“type、price、max、min、brand”,而第一JSON文件中的第一Key值的顺序为“type、brand、price、max、min”,则将该第一JSON数据中的第一Key值顺序调整为“type、brand、price、max、min”,即使该第一JSON数据中的第一Key值顺序与该第一JSON文件中的第一Key值顺序一致。若该第一JSON数据中的第一Key值的顺序与该第一JSON文件的第一Key值顺序一致,则无需进行调整。
在本发明实施例中,当该第一JSON数据中的第一Key值顺序与第一JSON文件中的第一Key值顺序一致时,删除该第一JSON数据中的第一Key值,得到第一目标字符串。
S102:将所述第一目标字符串插入到预先设置的第一最简JSON对象的Value中,其中所述第一最简JSON对象中携带有一个预设的Key值。
在本发明实施例中,在生成第一目标字符串之后,将该第一目标数据插入到第一最简JSON对象的Value中,其中,该第一最简JSON对象中有且仅有一个预设的Key值。例如,该第一目标字符串为{computer,[ap\\,Inc,sa\\,Inc,de\\,Inc],{10000,5000}},该第一最简JSON对象为{"a":""},将该第一目标JSON插入到该预先设置的第一最简JSON对象的Value中,即生成{"a":"{computer,[ap\\,Inc,sa\\,Inc,de\\,Inc],{10000,5000}}"}。
S103:发送插入了所述第一目标字符串的第一最简JSON对象。
在本发明实施例中,当将第一目标字符串插入到第一最简JSON对象的Value中以后,该插入了第一目标字符串的第一最简JSON对象就可以被发送,由于该第一最简JSON对象中没有携带第一JSON数据中的第一Key值,并且该第一最简JSON对象中只有一个Key值,因此用于传输的第一最简JSON对象中只有一个Key值,最大程度的减少了JSON格式数据传输中的冗余信息。
在本发明实施例中,在对JSON数据进行传输时,将该JSON数据转化为不含Key值的第一目标字符串,并将该第一目标字符串插入到预先设置的最简JSON对象的Value中,由于该第一最简JSON对象中仅携带有一个Key值,并且插入的第一目标字符串中没有Key值,因此发送的第一最简JSON对象中有且有一个Key值,最大程度的减少了JSON格式数据发送过程中的冗余信息,减少了JSON格式数据传输过程中的流量损耗,提高了用户的使用感受。
实施例2:
为了减少JSON格式数据发送过程中的冗余信息,减少JSON格式数据传输过程中的流量损耗,提高了用户的使用感受,在上述实施例的基础上,在本发明实施例中,所述在所述第一JSON数据删除第一Key值得到第一目标字符串包括:
在所述第一JSON数据中,删除所述第一Key值;
若所述第一JSON数据的Value中存在第一预设符号,则在所述第一预设符号之前增加反斜杠转义,得到第一目标字符串。
在本发明实施例中,在得到顺序排列完成的第一JSON数据后,删除该第一JSON数据中的第一Key值并添加逗号符号作为分隔符,对Value进行分割。并识别该第一JSON数据的Value中的第一预设符号,若在该第一JSON数据的Value中识别到第一预设符号,则在该第一预设符号前增加反斜杠转义。具体的,在本发明实施例中,该反斜杠转义为在该第一预设符号前增加“\”,从而实现对该第一预设符号的转义。其中该第一预设符号为逗号、中括号、大括号或双引号等符号。例如,若在该第一JSON数据的Value中识别到“,”,则在该“,”前增加“\”,变为“\,”。
此外,在本发明实施例中,当该第一JSON数据的Value中存在“\”时,也将在“\”前加增加“\”,即若该第一JSON数据的Value中存在“\,”,则在该“\,”中的“\”前增加“\”,在“,”前增“\”,经反斜杠转义后,得到“\\\,”。
例如,在本发明实施例中,该第一JSON数据可以是以下内容:
则根据该第一JSON数据得到的第一目标字符串为{computer,[ap\\,Inc,sa\\,Inc,de\\,Inc],{10000,5000}},在本发明实施例中,删除了该第一JSON数据中的第一Key值type、brand、prince、max、和min,并且将该第一JSON数据的Value中出现的“,”使用反斜杠转义为“\,”,得到了第一目标字符串。
实施例3:
为了减少JSON格式数据发送过程中的冗余信息,减少JSON格式数据传输过程中的流量损耗,提高了用户的使用感受,在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
若接收到对所述第一JSON数据进行回复的第二最简JSON对象,则确定所述第二最简JSON对象中携带的第二目标字符串;
根据第二JSON文件中第二Key值的第二顺序,将所述第二目标字符串中添加第二Key值并显示。
在本发明实施例中,该发送端设备发送的第一最简JSON对象中携带有对端请求的具体内容,对端在接收到该第一最简JSON对象后,会从该第一最简JSON对象中解析出该请求的具体的内容,并根据该请求,生成回复信息。
具体的,为了减少JSON格式数据传输过程中的冗余信息,减少流量损耗,接收到该第一最简JSON对象的接收端设备向发送该第一最简JSON对象的发送端设备发送的回复信息也是以最简JSON对象的形式发送的,为了将接收端设备发送的第二最简JSON对象与发送端设备发送的第一最简JSON对象进行区分,在本发明实施例中,将接收端设备发送的最简JSON对象称为第二最简JSON对象。
此外,在本发明实施例中,该发送端设备还预先保存有第二JSON文件,该第二JSON文件中记录有该第二JSON数据中的第二Key值,其中该第二JSON文件中的第二Key值与该第二JSON数据中的Key相同。同时该第二JSON文件中还记录有该第二Key值的第二顺序。其中,该第二JSON文件记录的第二Key值可能会与第一JSON文件记录的第一Key值不同。
在本发明实施例中,若发送端设备接收到对第一最简JSON对象回复的第二最简JSON对象时,则根据预先保存的第二JSON文件,确定该第二最简JSON对象中携带的第二目标字符串,然后再根据该第二JSON文件中的第二Key值的第二顺序,在该第二目标字符串中添加第二Key值并显示。
为了减少JSON格式数据发送过程中的冗余信息,减少JSON格式数据传输过程中的流量损耗,提高了用户的使用感受,在上述各实施例的基础上,在本发明实施例中,所述根据第二JSON文件中第二Key值的第二顺序,将所述第二目标字符串中添加第二Key值包括:
根据所述第二顺序,在所述第二目标字符串中增加所述第二Key值;
若所述第二目标字符串中存在反斜杠转义,则恢复所述第二目标字符串中被反斜杠转义的第二预设符号。
在本发明实施例中,在得到第二目标字符串后,确定该第二目标字符串中的Value,按照第二JSON文件中第二Key值的顺序,在每个Value之前依次添加第二Key值,并删除作为分隔符的逗号。
在本发明实施例中,若识别到被反斜杠转义,则对该第二目标字符串中使用反斜杠转义的第二预设符号进行恢复。即将该第二JSON数据中使用反斜杠转义的第二预设符号,去除该第二预设符号中的反斜杠。在本发明实施例中,该第二预设符号可以为“\,”、“\[”、“\]”、“\{”、“\}”等。
例如,在本发明实施例中,该发送端设备接收到的第二最简JSON对象为:
{
"a":"{[{1,computer1,6000,{1,seller1}},{2,computer2,8000,{2,seller2}}]}"
}
并且本发明中保存的第二JSON文件为:
当发送端设备接收该第二最简JSON对象后,确定该第二目标字符串为{{1,computer1,6000,{1,seller1}},该第二目标字符串中的Value为“1”、“computer1”、“6000”、“1”、“seller1”然后获取该第二JSON文件中第二Key值,以及顺序为“id”、“name”、“price”、“sller”、“id”、“name”。将该第二Key值插入到该第二目标数据中,并删除用作分隔符的逗号符号,由于该第二目标字符串中不存在反斜杠转义的逗号符号,因此在得到第二JSON数据的Value中不存在逗号符号。
此外,在本发明实施例中,该第二最简JSON数据携带的第二目标字符串还可能包括多个子目标JSON数据,例如,该第二目标字符串可以为{1,computer1,6000,{1,seller1}},{2,computer2,8000,{2,seller2}},该第二目标字符串包括{1,computer1,6000,{1,seller1}}和{2,computer2,8000,{2,seller2}}两个子目标JSON数据,具体的,按照该第二顺序,得到的第二JSON数据为:
图2为本发明实施例提供的发送端设备与接收端设备交互的过程示意图,如图2所示,该过程包括:发送端设备向接收端设备发送第一最简JSON对象;接收端设备接收到该第一最简JSON对象后,将该第一最简JSON对象转化为第一JSON数据,然后根据该第一JSON数据,生成待回复的第二JSON数据,并对该第二JSON数据进行处理,得到第二目标字符串,并将该第二目标字符串插入预先设置的第二最简JSON对象中,并发送该第二最简JSON对象到发送端设备;发送端设备接收到该第二最简JSON对象后,确定该第二JSON对象中携带的第二目标字符串,得到第二JSON数据。
实施例4:
图3为本发明实施例提供的一种JSON格式数据接收过程示意图,该过程包括以下步骤:
S301:若接收第一最简JSON对象,确定所述第一最简JSON对象中携带的第一目标字符串;
本发明实施例提供的一种JSON格式数据接收方法应用于接收端设备,该接收端设备可以为服务器,还可以是手机、电视等终端设备。
在本发明实施例中,当接收端设备接收到第一JSON对象,则确定该第一最简JSON对象中携带的第一目标字符串。具体的,在本发明实施例中,当接收到第一最简JSON对象之后,确定该第一最简JSON对象的Value为第一目标字符串。
S302:根据第一JSON文件中第一Key值的第一顺序,将所述第一目标字符串转化为携带有Key值的第一JSON数据。
在本发明实施例中,该接收端设备中预先保存有第一JSON文件,接收端设备中保存的该第一JSON与发送端设备中保存的第一JSON文件相同。
接收端设备根据该第一JSON文件中第一Key值的第一顺序,将该第一目标字符串转化为携带有Key值的第一JSON数据。
实施例5:
为了减少JSON格式数据发送过程中的冗余信息,减少JSON格式数据传输过程中的流量损耗,提高了用户的使用感受,在上述各实施例的基础上,在本发明实施例中,所述将所述第一目标字符串转化为携带有Key的第一JSON数据包括:
根据所述第一顺序,在所述第一目标字符串中增加第一Key值;
若所述第一目标字符串中存在反斜杠转义,则恢复所述第一目标字符串中被反斜杠转义的第二预设符号。
在本发明实施例中,在得到第一目标字符串后,确定该第一目标字符串中的Value,按照第一JSON文件中第一Key值的顺序,在每个Value之前依次添加第一Key值,并删除作为分隔符的逗号。
在本发明实施例中,若识别到被反斜杠转义,则对该第一目标字符串中使用反斜杠转义的第二预设符号进行恢复。即将该第一JSON数据中使用反斜杠转义的第二预设符号,去除该第二预设符号中的反斜杠。在本发明实施例中,该第二预设符号可以为“\,”、“\[”、“\]”、“\{”、“\}”等。
实施例6:
为了减少JSON格式数据发送过程中的冗余信息,减少JSON格式数据传输过程中的流量损耗,提高了用户的使用感受,在上述各实施例的基础上,在本发明实施例中,所述方法还包括:
根据所述第一JSON数据,生成待回复的第二JSON数据;
根据第二JSON文件中第二Key值的第二顺序,将所述第二JSON数据按照所述顺序排列,并在所述第二JSON数据删除第二Key值得到第二目标字符串;
将所述第二目标字符串插入到预先设置的第二最简JSON对象的Value中,其中所述第二最简JSON对象中携带有一个预设的Key值;
发送插入了所述第二目标字符串的第二最简JSON对象。
在本发明实施例中,当根据第一最简JSON对象确定第一JSON数据之后,确定该第一JSON数据中的信息,然后根据该信息生成待回复的回复信息,并将该回复信息转化为JSON数据格式,即根据该第一JSON数据确定待回复的第二JSON数据。
根据该第二JSON文件中第二Key值的第二顺序,将该第二JSON数据按照该第二顺序进行重新排列。即使该第二JSON数据中的第二Key值的顺序与该第二JSON文件中的第二Key值的顺序一致。若该第二JSON数据中的第二Key值的顺序与该第二JSON文件的第二Key值顺序一致,则无需进行调整。
在本发明实施例中,当该第一JSON数据中的第二Key值顺序与第二JSON文件中的第二Key值顺序一致时,删除该第二JSON数据中的第二Key值,得到第二目标字符串。
在本发明实施例中,在生成第二目标字符串之后,将该第二目标数据插入到第二最简JSON对象的Value中,其中,该第二最简JSON对象中有且仅有一个预设的Key值,并将该第二最简JSON对象发送给发送端设备。
为了减少JSON格式数据发送过程中的冗余信息,减少JSON格式数据传输过程中的流量损耗,提高了用户的使用感受,在上述各实施例的基础上,在本发明实施例中,所述在所述第二JSON数据删除第二Key值得到第二目标字符串包括:
在所述第二JSON数据中,删除所述第二Key值;
若所述第二JSON数据的Value中存在第一预设符号,则在所述第一预设符号之前增加反斜杠转义,得到第二目标字符串。
在本发明实施例中,在得到顺序排列完成的第二JSON数据后,删除该第二JSON数据中的第二Key值并添加逗号符号作为分隔符,对Value进行分割。并识别该第二JSON数据的Value中的第一预设符号,若在该第一JSON数据的Value中识别到第一预设符号,则在该第一预设符号前增加反斜杠,从而实现对该第一预设符号的转义。其中该第一预设符号为逗号、中括号、大括号或双引号等符号。例如,若在该第二JSON数据的Value中识别到“,”前增加“\”,变为“\,”。
实施例7:
图4为本发明实施例提供的一种JSON格式数据发送装置的结构示意图,该装置包括:
接收处理模块401,用于根据第一JSON文件中第一键Key值的顺序,将待发送的第一JSON数据按照所述顺序排列,并在所述第一JSON数据删除第一Key值得到第一目标字符串;
插入模块402,用于将所述第一目标字符串插入到预先设置的第一最简JSON对象的Value中,其中所述第一最简JSON对象中携带有一个预设的Key值;
发送模块403,用于发送插入了所述第一目标字符串的第一最简JSON对象。
在一种可能的实施方式中,所述接收处理模块401,具体用于在所述第一JSON数据中,删除所述第一Key值;若所述第一JSON数据的Value中存在第一预设符号,则在所述第一预设符号之前增加反斜杠转义,得到第一目标字符串。
在一种可能的实施方式中,所述接收处理模块401,还用于若接收到对所述第一JSON数据进行回复的第二最简JSON对象,则确定所述第二最简JSON对象中携带的第二目标字符串;根据第二JSON文件中第二Key值的第二顺序,将所述第二目标字符串中添加第二Key值并显示。
在一种可能的实施方式中,所述接收处理模块401,具体用于根据所述第二顺序,在所述第二目标字符串中增加所述第二Key值;若所述第二目标字符串中存在反斜杠转义,则恢复所述第二目标字符串中被反斜杠转义的第二预设符号。
实施例8:
图5为本发明实施例提供的一种JSON格式数据接收装置的结构示意图,该装置包括:
接收处理模块501,用于若接收第一最简JSON对象,确定所述第一最简JSON对象中携带的第一目标字符串;
转化模块502,用于根据第一JSON文件中第一Key值的第一顺序,将所述第一目标字符串转化为携带有Key的第一JSON数据。
在一种可能的实施方式中,所述接收处理模块501,具体用于根据所述第一顺序,在所述第一目标字符串中增加第一Key值;若所述第一目标字符串中存在反斜杠转义,则恢复所述第一目标字符串中被反斜杠转义的第二预设符号。
在一种可能的实施方式中,所述接收处理模块501,具体用于处理模块,还用于根据所述第一JSON数据,生成待回复的第二JSON数据;根据第二JSON文件中第二Key值的第二顺序,将所述第二JSON数据按照所述顺序排列,并在所述第二JSON数据删除第二Key值得到第二目标字符串;
所述装置还包括:
插入模块503,用于将所述第二目标字符串插入到预先设置的第二最简JSON对象的Value中,其中所述第二最简JSON对象中携带有一个预设的Key值;
发送模块504,用于发送插入了所述第二目标字符串的第二最简JSON对象。
在一种可能的实施方式中,所述接收处理模块501,具体用于在所述第二JSON数据中,删除所述第二Key值;若所述第二JSON数据的Value中存在第一预设符号,则在所述第一预设符号之前增加反斜杠转义,得到第二目标字符串。
实施例9:
图6为本发明实施例提供的一种电子设备结构示意图,在上述各实施例的基础上,本发明实施例还提供了一种电子设备,如图6所示,包括:处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信;
所述存储器603中存储有计算机程序,当所述程序被所述处理器501执行时,使得所述处理器601执行如下步骤:
根据第一JSON文件中第一键Key值的顺序,将待发送的第一JSON数据按照所述顺序排列,并在所述第一JSON数据删除第一Key值得到第一目标字符串;
将所述第一目标字符串插入到预先设置的第一最简JSON对象的Value中,其中所述第一最简JSON对象中携带有一个预设的Key值;
发送插入了所述第一目标字符串的第一最简JSON对象。
在一种可能的实施方式中,所述在所述第一JSON数据删除第一Key值得到第一目标字符串包括:
在所述第一JSON数据中,删除所述第一Key值;
若所述第一JSON数据的Value中存在第一预设符号,则在所述第一预设符号之前增加反斜杠转义,得到第一目标字符串。
在一种可能的实施方式中,所述方法还包括:
若接收到对所述第一JSON数据进行回复的第二最简JSON对象,则确定所述第二最简JSON对象中携带的第二目标字符串;
根据第二JSON文件中第二Key值的第二顺序,将所述第二目标字符串中添加第二Key值并显示。
在一种可能的实施方式中,所述根据第二JSON文件中第二Key值的第二顺序,将所述第二目标字符串中添加第二Key值包括:
根据所述第二顺序,在所述第二目标字符串中增加所述第二Key值;
若所述第二目标字符串中存在反斜杠转义,则恢复所述第二目标字符串中被反斜杠转义的第二预设符号。
由于上述电子设备解决问题的原理与JSON格式数据发送方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口602用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
图7为本发明实施例提供的一种电子设备结构示意图,在上述各实施例的基础上,本发明实施例还提供了一种电子设备,如图7所示,包括:处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信;
所述存储器703中存储有计算机程序,当所述程序被所述处理器701执行时,使得所述处理器701执行如下步骤:
若接收第一最简JSON对象,确定所述第一最简JSON对象中携带的第一目标字符串;
根据第一JSON文件中第一Key值的第一顺序,将所述第一目标字符串转化为携带有Key的第一JSON数据。
在一种可能的实施方式中,所述将所述第一目标字符串转化为携带有Key的第一JSON数据包括:
根据所述第一顺序,在所述第一目标字符串中增加第一Key值;
若所述第一目标字符串中存在反斜杠转义,则恢复所述第一目标字符串中被反斜杠转义的第二预设符号。
在一种可能的实施方式中,所述方法还包括:
根据所述第一JSON数据,生成待回复的第二JSON数据;
根据第二JSON文件中第二Key值的第二顺序,将所述第二JSON数据按照所述顺序排列,并在所述第二JSON数据删除第二Key值得到第二目标字符串;
将所述第二目标字符串插入到预先设置的第二最简JSON对象的Value中,其中所述第二最简JSON对象中携带有一个预设的Key值;
发送插入了所述第二目标字符串的第二最简JSON对象。
在一种可能的实施方式中,所述在所述第二JSON数据删除第二Key值得到第二目标字符串包括:
在所述第二JSON数据中,删除所述第二Key值;
若所述第二JSON数据的Value中存在第一预设符号,则在所述第一预设符号之前增加反斜杠转义,得到第二目标字符串。
由于上述电子设备解决问题的原理与JSON格式数据接收方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口702用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
实施例10:
在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行时实现如下步骤:
根据第一JSON文件中第一键Key值的顺序,将待发送的第一JSON数据按照所述顺序排列,并在所述第一JSON数据删除第一Key值得到第一目标字符串;
将所述第一目标字符串插入到预先设置的第一最简JSON对象的Value中,其中所述第一最简JSON对象中携带有一个预设的Key值;
发送插入了所述第一目标字符串的第一最简JSON对象。
在一种可能的实施方式中,所述在所述第一JSON数据删除第一Key值得到第一目标字符串包括:
在所述第一JSON数据中,删除所述第一Key值;
若所述第一JSON数据的Value中存在第一预设符号,则在所述第一预设符号之前增加反斜杠转义,得到第一目标字符串。
在一种可能的实施方式中,所述方法还包括:
若接收到对所述第一JSON数据进行回复的第二最简JSON对象,则确定所述第二最简JSON对象中携带的第二目标字符串;
根据第二JSON文件中第二Key值的第二顺序,将所述第二目标字符串中添加第二Key值并显示。
在一种可能的实施方式中,所述根据第二JSON文件中第二Key值的第二顺序,将所述第二目标字符串中添加第二Key值包括:
根据所述第二顺序,在所述第二目标字符串中增加所述第二Key值;
若所述第二目标字符串中存在反斜杠转义,则恢复所述第二目标字符串中被反斜杠转义的第二预设符号。
由于上述提供的计算机可读取介质解决问题的原理与JSON格式数据发送方法相似,因此处理器执行上述计算机可读取介质中的计算机程序后,实现的步骤可以参见上述其他实施例,重复之处不再赘述。
在上述各实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行时实现如下步骤:
若接收第一最简JSON对象,确定所述第一最简JSON对象中携带的第一目标字符串;
根据第一JSON文件中第一Key值的第一顺序,将所述第一目标字符串转化为携带有Key的第一JSON数据。
在一种可能的实施方式中,所述将所述第一目标字符串转化为携带有Key的第一JSON数据包括:
根据所述第一顺序,在所述第一目标字符串中增加第一Key值;
若所述第一目标字符串中存在反斜杠转义,则恢复所述第一目标字符串中被反斜杠转义的第二预设符号。
在一种可能的实施方式中,所述方法还包括:
根据所述第一JSON数据,生成待回复的第二JSON数据;
根据第二JSON文件中第二Key值的第二顺序,将所述第二JSON数据按照所述顺序排列,并在所述第二JSON数据删除第二Key值得到第二目标字符串;
将所述第二目标字符串插入到预先设置的第二最简JSON对象的Value中,其中所述第二最简JSON对象中携带有一个预设的Key值;
发送插入了所述第二目标字符串的第二最简JSON对象。
在一种可能的实施方式中,所述在所述第二JSON数据删除第二Key值得到第二目标字符串包括:
在所述第二JSON数据中,删除所述第二Key值;
若所述第二JSON数据的Value中存在第一预设符号,则在所述第一预设符号之前增加反斜杠转义,得到第二目标字符串。
由于上述提供的计算机可读取介质解决问题的原理与JSON格式数据接收方法相似,因此处理器执行上述计算机可读取介质中的计算机程序后,实现的步骤可以参见上述其他实施例,重复之处不再赘述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种JSON格式数据发送方法,其特征在于,所述方法包括:
根据第一JSON文件中第一键Key值的顺序,将待发送的第一JSON数据按照所述顺序排列,并在所述第一JSON数据删除第一Key值得到第一目标字符串;
将所述第一目标字符串插入到预先设置的第一最简JSON对象的Value中,其中所述第一最简JSON对象中携带有一个预设的Key值;
发送插入了所述第一目标字符串的第一最简JSON对象。
2.根据权利要求1所述的方法,其特征在于,所述在所述第一JSON数据删除第一Key值得到第一目标字符串包括:
在所述第一JSON数据中,删除所述第一Key值;
若所述第一JSON数据的Value中存在第一预设符号,则在所述第一预设符号之前增加反斜杠转义,得到第一目标字符串。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若接收到对所述第一JSON数据进行回复的第二最简JSON对象,则确定所述第二最简JSON对象中携带的第二目标字符串;
根据第二JSON文件中第二Key值的第二顺序,将所述第二目标字符串中添加第二Key值并显示。
4.根据权利要求3所述的方法,其特征在于,所述根据第二JSON文件中第二Key值的第二顺序,将所述第二目标字符串中添加第二Key值包括:
根据所述第二顺序,在所述第二目标字符串中增加所述第二Key值;
若所述第二目标字符串中存在反斜杠转义,则恢复所述第二目标字符串中被反斜杠转义的第二预设符号。
5.一种JSON格式数据接收方法,其特征在于,所述方法包括:
若接收第一最简JSON对象,确定所述第一最简JSON对象中携带的第一目标字符串;其中,所述第一目标字符串是根据第一JSON文件中第一键Key值的顺序,将待发送的第一JSON数据按照所述顺序排列,并在所述第一JSON数据删除第一Key值得到的;所述第一目标字符串被插入到所述第一最简JSON对象的Value中,所述第一最简JSON对象中携带有一个预设的Key值;
根据第一JSON文件中第一Key值的第一顺序,将所述第一目标字符串转化为携带有Key的第一JSON数据。
6.根据权利要求5所述的方法,其特征在于,所述将所述第一目标字符串转化为携带有Key的第一JSON数据包括:
根据所述第一顺序,在所述第一目标字符串中增加第一Key值;
若所述第一目标字符串中存在反斜杠转义,则恢复所述第一目标字符串中被反斜杠转义的第二预设符号。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述第一JSON数据,生成待回复的第二JSON数据;
根据第二JSON文件中第二Key值的第二顺序,将所述第二JSON数据按照所述顺序排列,并在所述第二JSON数据删除第二Key值得到第二目标字符串;
将所述第二目标字符串插入到预先设置的第二最简JSON对象的Value中,其中所述第二最简JSON对象中携带有一个预设的Key值;
发送插入了所述第二目标字符串的第二最简JSON对象。
8.根据权利要求7所述的方法,其特征在于,所述在所述第二JSON数据删除第二Key值得到第二目标字符串包括:
在所述第二JSON数据中,删除所述第二Key值;
若所述第二JSON数据的Value中存在第一预设符号,则在所述第一预设符号之前增加反斜杠转义,得到第二目标字符串。
9.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现根据权利要求1-4或5-8中任一所述的JSON格式数据发送、接收方法的步骤。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1-4或5-8中任一所述的JSON格式数据发送、接收方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110218771.8A CN112817602B (zh) | 2021-02-26 | 2021-02-26 | 一种json格式数据发送、接收方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110218771.8A CN112817602B (zh) | 2021-02-26 | 2021-02-26 | 一种json格式数据发送、接收方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112817602A CN112817602A (zh) | 2021-05-18 |
CN112817602B true CN112817602B (zh) | 2024-04-23 |
Family
ID=75864138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110218771.8A Active CN112817602B (zh) | 2021-02-26 | 2021-02-26 | 一种json格式数据发送、接收方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817602B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113779932B (zh) * | 2021-08-24 | 2024-07-19 | 深圳市明源云科技有限公司 | 数字格式化方法、装置、终端设备及存储介质 |
CN114117992B (zh) * | 2021-11-25 | 2023-03-24 | 北京力控元通科技有限公司 | 一种序列化和反序列化方法、装置和电子设备 |
CN116055559B (zh) * | 2023-03-28 | 2023-12-22 | 广州九尾智能科技有限公司 | 数据交换格式的处理方法及装置 |
CN117573943B (zh) * | 2024-01-11 | 2024-05-28 | 云筑信息科技(成都)有限公司 | 一种基于序列化相似度计算的数据对比方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581456A (zh) * | 2020-05-09 | 2020-08-25 | 深圳市卡数科技有限公司 | 一种json字符串对比方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9853956B2 (en) * | 2014-02-11 | 2017-12-26 | Texas Instruments Incorporated | JSON encryption and hashing with indication added to key-value |
-
2021
- 2021-02-26 CN CN202110218771.8A patent/CN112817602B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581456A (zh) * | 2020-05-09 | 2020-08-25 | 深圳市卡数科技有限公司 | 一种json字符串对比方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
JSON与XML动态转换研究及应用;刘立;赵建军;张锦鹏;余进;;软件导刊(第11期);全文 * |
离线模式下对象跨语言平台传输解决方案;傅文强;刘志鹏;;西安邮电大学学报(第05期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112817602A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112817602B (zh) | 一种json格式数据发送、接收方法、设备及介质 | |
CN110365491B (zh) | 业务处理方法、装置、设备、存储介质以及数据共享系统 | |
CN106657149B (zh) | 通讯协议转换方法与装置 | |
US8959162B2 (en) | Publisher-based message data cashing in a publish-subscription environment | |
CN110912803B (zh) | 一种im消息传输方法及终端 | |
CN102385605B (zh) | 微博消息查找方法、系统及微博服务器 | |
CN110569127B (zh) | 虚拟资源转移、发送、获取方法和装置 | |
CN111027301A (zh) | 信息处理方法、装置、终端设备及存储介质 | |
US9185181B2 (en) | Shared cache for potentially repetitive message data in a publish-subscription environment | |
CN112686023A (zh) | 文本数据处理方法、装置、电子设备及存储介质 | |
CN108377319B (zh) | 图片传输方法及装置 | |
CN114328348A (zh) | 一种fpga加速板卡及其行情数据处理方法 | |
CN108495174A (zh) | 一种h5页面效果生成视频文件的方法及系统 | |
CN116346961B (zh) | 金融报文处理方法、装置、电子设备及存储介质 | |
CN102404292B (zh) | 账号自动匹配方法和系统 | |
CN112422402A (zh) | 消息转发的溯源方法、装置、存储介质以及终端 | |
CN105340227B (zh) | 开放流流表间信息传递的方法、控制器、交换机及系统 | |
CN113364915B (zh) | 信息显示方法、装置和电子设备 | |
CN104615564A (zh) | 一种基于qpi总线的数据传输方法及计算机系统 | |
CN110674068B (zh) | 一种板卡间的信息交互方法、分布式板卡及存储介质 | |
CN108023949A (zh) | 拨号上网方法、系统、智能终端及服务器 | |
CN111063347B (zh) | 实时语音识别方法、服务端及客户端 | |
CN106776497A (zh) | 信息处理方法及信息处理装置 | |
CN111144977B (zh) | 一种股票订单处理方法、装置 | |
CN114020195B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |