一种基于json传输二进制数据的方法、装置和设备制造方法及图纸

技术编号:22594860 阅读:79 留言:0更新日期:2019-11-20 11:10
本申请公开了一种基于json传输二进制数据的方法、装置和设备,包括以下步骤:101、定义以二进制数据串为结尾的JSON数据结构,JSON数据结构包括JSON数据串的长度、数据类型、二进制数据串的长度和校验数据;102、获取待传输二进制数据串,将待传输二进制数据串以JSON数据结构的格式进行数据传输。本申请中提供的基于json传输二进制数据的方法,设计了一种新的JSON数据结构,能够支持二进制数据传输,不需要将二进制数据转换成字符串格式传输,解决了现有的使用JSON传输二进制数据的方法采用将二进制数据转换成字符串格式,存在接收端解析出错和字符串长度是原数据长度两倍的技术问题。

A method, device and device of binary data transmission based on JSON

The application discloses a method, device and device for transmitting binary data based on JSON, which includes the following steps: 101. Defining a JSON data structure with binary data string as the end, and the JSON data structure includes the length, data type, length of binary data string and verification data of JSON data string; 102. Acquiring the binary data string to be transmitted and transferring the binary data string The data is transferred in the format of JSON data structure. The method of binary data transmission based on JSON provided in the application designs a new JSON data structure, which can support binary data transmission without converting binary data to string format transmission. It solves the existing method of using JSON to transfer binary data by converting binary data to string format, and there are parsing errors and strings at the receiving end The length is twice the length of the original data.

【技术实现步骤摘要】
一种基于json传输二进制数据的方法、装置和设备
本申请涉及计算机
,尤其涉及一种基于json传输二进制数据的方法、装置和设备。
技术介绍
JSON(JavascriptObjectNotation,JS对象标记)是一种轻量级的数据交换格式,它基于ECMAScript(欧洲计算机协会指定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON作为一个数据交换格式,主要是支持文本格式,现有的使用JSON传输二进制数据的方式是将二进制数据转换成字符串格式,专利公开号为CN109902274的专利申请公开了一种将json字符串转化为thrift二进制流的方法及系统,这种方式虽然能够实现二进制数据的传输,但是将二进制数据转换成字符串格式,会出现各种通配符导致接收端解析出错,而且二进制转换成字符串格式之后,字符串长度是原来的两倍。
技术实现思路
本申请提供了一种基于json传输二进制数据的方法、装置和设备,用于解决现有的使用JSON传输二进制数据的方法采用将二进制数据转换成字符串格式,存在接收端解析出错和字符串长度是原数据长度两倍的技术问题。有鉴于此,本申请第一方面提供了一种基于json传输二进制数据的方法,包括以下步骤:101、定义以二进制数据串为结尾的JSON数据结构,所述JSON数据结构包括JSON数据串的长度、数据类型、所述二进制数据串的长度和校验数据;102、获取待传输二进制数据串,将所述待传输二进制数据串以所述JSON数据结构的格式进行数据传输。优选地,步骤102之后还包括:103、对传输过来的所述JSON数据结构截取所述JSON数据结构的尾部所述二进制数据串的长度的数据。优选地,所述校验数据为CRC校验数据。优选地,步骤103之前步骤102之后,还包括:1023、对传输的所述JSON数据结构进行验证。本申请第二方面提供了一种基于json传输二进制数据的装置,包括以下模块:定义模块,用于定义以二进制数据串为结尾的JSON数据结构,所述JSON数据结构包括JSON数据串的长度、数据类型、所述二进制数据串的长度和校验数据;传输模块,用于获取待传输二进制数据串,将所述待传输二进制数据串以所述JSON数据结构的格式进行数据传输。优选地,还包括:输出模块,用于对传输过来的所述JSON数据结构截取所述JSON数据结构的尾部所述二进制数据串的长度的数据。优选地,还包括:验证模块,用于对传输的所述JSON数据结构进行验证。本申请第三方面提供了一种基于json传输二进制数据的设备,所述设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行第一方面的任一种所述的基于json传输二进制数据的方法。本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面的任一种所述的基于json传输二进制数据的方法。本申请第五方面提供了一种包括指令的计算机程序产品,其特征在于,当其在计算机上运行时,使得所述计算机执行第一方面的任一种所述的基于json传输二进制数据的方法。从以上技术方案可以看出,本申请实施例具有以下优点:本申请中,提供了一种基于json传输二进制数据的方法,包括以下步骤:101、定义以二进制数据串为结尾的JSON数据结构,JSON数据结构包括JSON数据串的长度、数据类型、二进制数据串的长度和校验数据;102、获取待传输二进制数据串,将待传输二进制数据串以JSON数据结构的格式进行数据传输。本申请中提供的基于json传输二进制数据的方法,设计了一种新的JSON数据结构,能够支持二进制数据传输,不需要将二进制数据转换成字符串格式传输,解决了现有的使用JSON传输二进制数据的方法采用将二进制数据转换成字符串格式,存在接收端解析出错和字符串长度是原数据长度两倍的技术问题。附图说明图1为本申请提供的一种基于json传输二进制数据的方法的一个实施例的流程示意图;图2为本申请提供的一种基于json传输二进制数据的方法的另一个实施例的流程示意图;图3为本申请提供的一种基于json传输二进制数据的装置的一个实施例的结构示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为了便于理解,请参阅图1,本申请提供的一种基于json传输二进制数据的方法的一个实施例,包括:步骤101、定义以二进制数据串为结尾的JSON数据结构,JSON数据结构包括JSON数据串的长度、数据类型、二进制数据串的长度和校验数据。需要说明的是,本申请实施例中定义的JSON数据结构是以二进制数据传为结尾的。现有JSON数据结构以“{”为起始,以“}”为终止,所以接收端一般是以此判断一条JSON的起始和结尾,本申请中定义的JSON数据结构的终止为一串二进制数据,此二进制数据附在JSON数据结构的末尾,因此,需要在键值对中定义两个长度,用以告诉接收端正确的接收长度,一个是JSON数据的总长度(其中包括JSON数据后面携带的二进制数据),另一个长度是二进制数据的总长度(是接收端用以截取二进制时使用的)。本申请实施例中的JSON数据结构可以具体举例为:{"JSON":79,"cmd":"sendbindata","size":17,"CRC":414829673}长度为17的二进制数据串。其中,JSON键值79是本条数据的总长度,用以告诉接收端这条JSON数据全部的长度为79;cmd键值"sendbindata",为本条JSON数据长度的类型,用以告诉接收端本条数据的用途;size键值17,是JSON数据后面附着的二进制数据长度为17;CRC键值414829673,是对整条数据的CRC校验数据,用以确保传输数据准确无误;长度为17的二进制数据串是要通过JSON传输的二进制数据串。步骤102、获取待传输二进制数据串,将待传输二进制数据串以JSON数据结构的格式进行数据传输。需要说明的是,定义好JSON数据结构之后,获取要传输的待传输二进制数据串,将待传输二进制数据串以JSON数据结构的格式进行数据传输,同时,使得JSON数据结构能够支持二进制数据传输,应用场景及应用范围得到了扩展。本申请中提供的基于json传输二进制数据的方法,设计了一种新的JSON数据结构,能够支持二进本文档来自技高网
...

【技术保护点】
1.一种基于json传输二进制数据的方法,其特征在于,包括以下步骤:/n101、定义以二进制数据串为结尾的JSON数据结构,所述JSON数据结构包括JSON数据串的长度、数据类型、所述二进制数据串的长度和校验数据;/n102、获取待传输二进制数据串,将所述待传输二进制数据串以所述JSON数据结构的格式进行数据传输。/n

【技术特征摘要】
1.一种基于json传输二进制数据的方法,其特征在于,包括以下步骤:
101、定义以二进制数据串为结尾的JSON数据结构,所述JSON数据结构包括JSON数据串的长度、数据类型、所述二进制数据串的长度和校验数据;
102、获取待传输二进制数据串,将所述待传输二进制数据串以所述JSON数据结构的格式进行数据传输。


2.根据权利要求1所述的基于json传输二进制数据的方法,其特征在于,步骤102之后还包括:
103、对传输过来的所述JSON数据结构截取所述JSON数据结构的尾部所述二进制数据串的长度的数据。


3.根据权利要求1所述的基于json传输二进制数据的方法,其特征在于,所述校验数据为CRC校验数据。


4.根据权利要求2所述的基于json传输二进制数据的方法,其特征在于,步骤103之前步骤102之后,还包括:
1023、对传输的所述JSON数据结构进行验证。


5.一种基于json传输二进制数据的装置,其特征在于,包括以下模块:
定义模块,用于定义以二进制数据串为结尾的JSON数据结构,所述JSON数据结构包括JSON数据串的长度、数据类型、所述二进制数据串的长度和校验数据;
传输...

【专利技术属性】
技术研发人员:杨坚万世辉
申请(专利权)人:珠海迈科智能科技股份有限公司
类型:发明
国别省市:广东;44

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

1