CN109005469B - 一种消息格式的转换方法、装置、存储介质及安卓终端 - Google Patents

一种消息格式的转换方法、装置、存储介质及安卓终端 Download PDF

Info

Publication number
CN109005469B
CN109005469B CN201810718902.7A CN201810718902A CN109005469B CN 109005469 B CN109005469 B CN 109005469B CN 201810718902 A CN201810718902 A CN 201810718902A CN 109005469 B CN109005469 B CN 109005469B
Authority
CN
China
Prior art keywords
bullet screen
information
json
string
value pair
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
Application number
CN201810718902.7A
Other languages
English (en)
Other versions
CN109005469A (zh
Inventor
张磊
张文明
陈少杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810718902.7A priority Critical patent/CN109005469B/zh
Publication of CN109005469A publication Critical patent/CN109005469A/zh
Application granted granted Critical
Publication of CN109005469B publication Critical patent/CN109005469B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明实施例公开了一种消息格式的转换方法、装置、存储介质及安卓终端。该方法包括:获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息;将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式。通过采用本申请所提供的技术方案,可以实现对Json格式的格式转换成弹幕消息格式,实现对接收到的Json格式的数据快速的以弹幕消息进行显示的效果。

Description

一种消息格式的转换方法、装置、存储介质及安卓终端
技术领域
本发明实施例涉及安卓技术领域,尤其涉及一种消息格式的转换方法、装置、存储介质及安卓终端。
背景技术
当今互联网飞速发展,网络用户的需求变化既快又大,数据消息的传输以及转化效率已经成为领域内比较关注的问题之一。
目前,数据传输通常是Json格式,传统方案中Json格式的数据的解析通常是解析成一个对象,而无法将Json格式的数据转变成一个另外类型的数据,或者是特定的弹幕协议。而弹幕消息作为目前用户观看在线视频、在线直播以及其他视频类型节目时的兴趣所在,所以如何实现边解析边转换已经成为技术人员急需突破的技术难题。
发明内容
本发明实施例提供一种消息格式的转换方法、装置、存储介质及安卓终端,可以实现对Json格式的格式转换成弹幕消息格式,实现对接收到的Json格式的数据快速的以弹幕消息进行显示的效果。
第一方面,本发明实施例提供了一种消息格式的转换方法,该方法包括:
获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息;
将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式。
进一步的,所述获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息,包括:
获取到Json数据时,通过对jsonStr首尾字符分别检索,并判定所述首尾字符是否为第一Json格式标准字符;
若是,则校验成功,将所述首尾字符删除,并将删除后的字符串赋值给jsonStr,得到赋值后的jsonStr;
根据除所述第一Json格式标准字符以外的其他Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到至少一个键值对信息。
进一步的,所述根据除所述第一Json格式标准字符以外的其他Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到至少一个键值对信息,包括:
根据第二Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到字符串数组;
根据第三Json格式标准字符,对所有的所述字符串数组进行分割处理,将每个字符串数组信息分割后存储在模板数组tmpArray2[0],tmpArray2[1]中,得到至少一个键值对信息。
进一步的,在根据第三Json格式标准字符,对所有的所述字符串数组进行分割处理,将每个字符串数组信息分割后存储在至少一个模板数组tmpArray2[0],tmpArray2[1]中之后,所述方法还包括:
对每个所述模板数组的tmpArray2[0]数据通过调用TextUtils.equals(tmpArray2[0],“”)方法判断tmpArray2[0]数据是否为空;
若是,则返回jsonStr校验失败信息;
若否,则确定所述jsonStr校验成功。
进一步的,将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式,包括:
在预先构建的map对象中存储所有键值对信息;
通过调用entry.getKey()方法来获取map对象中的键信息,并且将获取到的键信息转换成一个键信息的String类型的变量;以及,通过调用entry.getValue()方法来获取map对象中的值信息,并且将获取到的值信息转换成一个值信息的String类型的变量;
通过调用stringBuilde对键信息的String类型的变量以及值信息的String类型的变量按照预设弹幕消息格式进行拼接,得到弹幕消息格式。
进一步的,所述通过调用stringBuilde对键信息的String类型的变量以及值信息的String类型的变量按照预设弹幕消息格式进行拼接,得到弹幕消息格式,包括:
通过调用stringBuilde对所有的所述键信息的String类型的变量和值信息的String类型的变量之间添加第一弹幕格式标准字符,形成至少一个弹幕消息键值对信息;
对每个所述弹幕消息键值对信息的最后一位添加第二弹幕格式标准字符,并将所有的弹幕消息键值对信息组合成一个结果字符串;
删除所述结果字符串的最后一位的第二弹幕格式标准字符,得到弹幕消息格式。
第二方面,本发明实施例还提供了一种消息格式的转换装置,该装置包括:
键值对信息获取模块,用于获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息;
弹幕消息格式拼接模块,用于将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式。
进一步的,所述弹幕消息格式拼接模块,包括:
首位字符校验单元,用于获取到Json数据时,通过对jsonStr首尾字符分别检索,并判定所述首尾字符是否为第一Json格式标准字符;
首位字符删除单元,用于若是,则校验成功,将所述首尾字符删除,并将删除后的字符串赋值给jsonStr,得到赋值后的jsonStr;
键值对信息获取单元,用于根据除所述第一Json格式标准字符以外的其他Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到至少一个键值对信息。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的消息格式的转换方法。
第四方面,本申请实施例提供了一种安卓终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的消息格式的转换方法。
本申请实施例所提供的技术方案,通过获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息;将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式。通过采用本申请所提供的技术方案,可以实现对Json格式的格式转换成弹幕消息格式,实现对接收到的Json格式的数据快速的以弹幕消息进行显示的效果。
附图说明
图1是本发明实施例一提供的消息格式的转换方法的流程图;
图2是本发明实施例三提供的消息格式的转换装置的结构示意图;
图3为本申请实施例提供的一种安卓终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的消息格式的转换方法的流程图,本实施例可适用消息格式转换的情况,该方法可以由本发明实施例所提供的消息格式的转换装置来执行,该装置可以由软件和/或硬件的方式来实现,并可集成于安卓终端中。
如图1所示,所述消息格式的转换方法包括:
S110、获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息。
其中,可以通过网络连接的形式获取到Json数据,在获取到Json数据之后,需要对jsonStr进行校验,这样设置的好处是如果在校验过程中发现收到的Json数据不合法,则可以直接取消将其转化为弹幕消息格式,避免在转化过程中出现失误还要重新确定转化失误的原因是否为Json数据不合法造成的。
因为在Json数据中,就是以至少一个键值对信息进行信息存储的,示例性的,jsonStr={"name":"zhangsan","age":"20","height":"180","sex":"male"},其中name与zhangsan就是一个键值对信息,age和20是另一个键值对信息,同理的,height和180以及sex和male都是一个键值对信息。在校验过程中,获取至少一个键值对信息,也就是获取当前Json数据中的所有键值对信息。其中获取方式可以是通过相应的方法去掉jsonStr中的一些特定的符号,比如“{}”和“:”等。
S120、将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式。
其中,弹幕消息格式可以是预先获得的可以用来做弹幕消息展示的格式,比如在键值对信息之间加入一些特定的标识符,示例性的,一个弹幕消息的格式如下:name@=zhangsan/age@=20/height@=180/sex@=male,可以知道,在其中的每个键值对之间需要***“@=”字符,以及在每个键值对之间需要***“/”字符。这样就可以得到包含Json数据的全部键值对信息的弹幕消息内容。
本申请实施例所提供的技术方案,通过获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息;将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式。通过采用本申请所提供的技术方案,可以实现对Json格式的格式转换成弹幕消息格式,实现对接收到的Json格式的数据快速的以弹幕消息进行显示的效果。
在上述技术方案的基础上,可选的,所述获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息,包括:获取到Json数据时,通过对jsonStr首尾字符分别检索,并判定所述首尾字符是否为第一Json格式标准字符;若是,则校验成功,将所述首尾字符删除,并将删除后的字符串赋值给jsonStr,得到赋值后的jsonStr;根据除所述第一Json格式标准字符以外的其他Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到至少一个键值对信息。
其中,第一Json格式标准字符可以是初步确定是否为Json数据的字符,例如可以是jsonStr首尾字符的“{}”,而除所述第一Json格式标准字符以外的其他Json格式标准字符,可以是引号、逗号以及冒号等,其他除了键值对信息以外的任何字符。本实施例通过对第一Json格式标准字符和其他Json格式标准字符进行分级别校验,如果校验出现问题,则直接返回当前的Json数据不合法,并且在对第一Json格式标准字符进行校验和删除之后将结果赋值给jsonStr,这样在程序编写的过程中,可以按照顺序对jsonStr进行处理,不会出现中间变量过多的问题。
在上述技术方案的基础上,可选的,所述根据除所述第一Json格式标准字符以外的其他Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到至少一个键值对信息,包括:根据第二Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到字符串数组;根据第三Json格式标准字符,对所有的所述字符串数组进行分割处理,将每个字符串数组信息分割后存储在模板数组tmpArray2[0],tmpArray2[1]中,得到至少一个键值对信息。本技术方案通过将逐步解析出来的键值对信息存储在模板数组中,模板数组的两个存储位置分别存储键信息和值信息,这样就实现了对Json数据进行校验的同时进行解析的目的,提高数据的处理速度,简化数据的处理流程。
在上述技术方案的基础上,可选的,根据第三Json格式标准字符,对所有的所述字符串数组进行分割处理,将每个字符串数组信息分割后存储在至少一个模板数组tmpArray2[0],tmpArray2[1]中之后,所述方法还包括:对每个所述模板数组的tmpArray2[0]数据通过调用TextUtils.equals(tmpArray 2[0],“”)方法判断tmpArray2[0]数据是否为空;若是,则返回jsonStr校验失败信息;若否,则确定所述jsonStr校验成功。其中,在Json数据中,每个键值对信息中的键信息是必须存在的,如果不存在则说明当前Json数据不合法。所以经过此方案的检验可以更加准确的确定当前校验的Json数据是否合法,提高数据校验过程中的准确性。
在上述技术方案的基础上,可选的,将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式,包括:在预先构建的map对象中存储所有键值对信息;通过调用entry.getKey()方法来获取map对象中的键信息,并且将获取到的键信息转换成一个键信息的String类型的变量;以及,通过调用entry.getValue()方法来获取map对象中的值信息,并且将获取到的值信息转换成一个值信息的String类型的变量;通过调用stringBuilde对键信息的String类型的变量以及值信息的String类型的变量按照预设弹幕消息格式进行拼接,得到弹幕消息格式。本方案中,给出了一种在Map对象中通过getKey函数和getValue函数来获取预先存入Map对象中键值对信息中的键信息和值信息,并分别转换成键信息的String类型的变量和值信息的String类型的变量,再通过stringBuilde对其进行拼接,得到弹幕消息格式,这样设置的好处是可以去掉键信息和值信息的属性对数据拼接过程中造成的影响,都以String类型的变量进行处理,有利于实现对弹幕消息格式的转化。
在上述技术方案的基础上,可选的,所述通过调用stringBuilde对键信息的String类型的变量以及值信息的String类型的变量按照预设弹幕消息格式进行拼接,得到弹幕消息格式,包括:通过调用stringBuilde对所有的所述键信息的String类型的变量和值信息的String类型的变量之间添加第一弹幕格式标准字符,形成至少一个弹幕消息键值对信息;对每个所述弹幕消息键值对信息的最后一位添加第二弹幕格式标准字符,并将所有的弹幕消息键值对信息组合成一个结果字符串;删除所述结果字符串的最后一位的第二弹幕格式标准字符,得到弹幕消息格式。其中,通过调用stringBuilde实现对键值对信息中的键信息和值信息之间的第一弹幕格式标准字符进行添加,并对键值对信息的最后一位添加第二弹幕格式标准字符,在去掉整个字符串最后一个位置的第二弹幕格式标准字符后,可以形成弹幕消息格式的数据,从而进行弹幕消息的展示。
实施例二
本实施例在上述实施例的基础上提供的优选实施例,为了能够让本领域技术人员更加清晰的了解本申请所提供的技术方案,本优选实施例如下:
通过本方案的实施能够快速的将Json格式的数据转变成弹幕格式的协议数据,并且该转换过程能够实现解析与转换同时进行来达到提高转换效率的目的。
本方案将主要围绕下述几个方面来进行展开和说明
一、Json数据的校验。
二、数据的转换流程。
接下来将详细描述上述步骤的实现方法和实施流程:
一、Json数据的校验
本步骤主要描述Json数据的校验方法,通过本步骤的实施能够有效的校验Json数据是否是合法的,只有是合法的Json数据才进行转换,否则不进行转换,这样可以提前将非法数据进行屏蔽从而提高转化的效率。
为了对Json数据进行合法性的校验首先给一个示例的Json数据jsonStr来进行说明和判断方法,jsonStr={"name":"zhangsan","age":"20","height":"180","sex":"male"},接下来将针对上述问题进行解析处理。
首先判定通过调用TextUtils类中的工具方法TextUtils.isEmpty(jsonStr)来判定jsonStr是不是一个空字符串,如果返回true则表示是空字符串此时就直接校验结束,Json数据不合法,否则就开始真正的校验流程。
首先通过jsonStr.charAt(0)获取第一个字符firstChar,通过调用jsonStr.charAt(jsonStr.length-1)来获取最后一个字符lastChar,然后通过调用firstChar.equals(“{”)方法判定第一个字符是不是“{”,如果不是直接通过调用returnfalse表示校验失败,如果通过queals方法来判定的firstChar是“{”且lastChar是“}”,接着进行下一步的判定。
通过调用字符串截取函数substring来将jsonStr中的首位字符去去除掉,具体的去掉方法是通过调用jsonStr=jsonStr.substring(1,jsonStr.length-1)来截取去掉首位首尾括号字符串,我们将截取后的字符串再次赋值给jsonStr,这样jsonStr就没有了首位首尾的括号字符了。
接下来在通过调用字符串分割函数来对jsonStr字符串进行分割处理,具体是通过调用jsonStr.split(“,”)方法来进行实现的。分割后的返回的是一个字符串数组,通过定义一个String[]tmpArray来进行接收返回结果。如果函数分割失败,就通过调用returnfalse表示校验失败,否则继续进行下述的校验工作。
依次取出tmpArray数组中的元素并将该元素进行再次调用split(“:”)函数来进行分割处理,如果有任意一个分割失败就直接return false表示校验是吧。如果分割正常在每次分割的结果我们标记为tmpArray2。
接下来通过获取tmpArray2[0]去掉其中的第一个字符并且通过调用TextUtils.equals(tmpArray 2[0],“”)方法来判断tmpArray2[0]其值是否为空,如果为空就通过调用return false表示校验失败。如果上述所有条件全部校验通过则表示该json是一个正确的json数据信息。
之所以取出tmpArray2[0]的值进行校验的原因是该值是json中的键值对中的键信息,如果键为空那么这个在键值对的规定中是不合法的,因此就是一个非法json数据,所以需要对键进行逐一的判定逻辑。
二、数据的转换流程。
本步骤主要描述Json数据是如何转换成一个弹幕格式的数据的。为了方便下文的理解我们首先给出弹幕的数据的格式形式,具体如下所示;
name@=zhangsan/age@=20/height@=180/sex@=male
接下来我们将详细描述具体的转换流程是如何实施的。
通过步骤一中的前述步骤已经可以解析出json字符串中的多个键值对信息了,此时我们需要构建一个Map对象,具体的构建方法是通过调用Map<String,String>mMap=newHashMap<String,String>()方法来构建一个mMap对象,并且mMap对象中的键是一个String类型的数据,值也是一个String类型的数据。
接下来,通过调用mMap中的mMap.put(tmpArray2[0],tmpArray2[1])函数将解析出来的键值对信息存储到一个mMap对象中,上述步骤对tmpArray进行轮训判定过程中会多次调用mMap.put(tmpArray2[0],tmpArray2[1])函数,这样轮询完所有的tmpArray数组后此时mMap对象中就存储了jsonStr中所有的键值对信息了。
接下来,需要构建一个StringBuilder类型的类,该类是用于做字符串拼接操作的,具体的构建方法是通过调用StringBuilder stringBuilder=newStringBuilder();
首先通过Iterator来对mMap对象进行轮训,通过每次轮训过程中都会有一个调用iter的临时变量,我们通过调用iter中的next方法来返回一个Map.Entry的对象,具体是通过调用Map.Entry entry=(Map.Entry)iter.next();方法来实现向的。
接下来我们需要通过调用entry.getKey()方法来获取map对象中的键信息,并且将获取到的键信息强制类型转换成一个String类型的变量,具体是通过(String)entry.getKey()方式来实现的,将获取的结果用一个String类型的变量key来接收。
通过调用entry.getValue()方法来获取map对象中的值信息,并且将获取到的值信息强制类型转换成一个String类型的变量,具体是通过(String)entry.getValue()方式来实现的,将获取的结果用一个String类型的变量value来接收。
然后,再通过调用stringBuilder中的stringBuilder.append(key).append(“@=”).append(value)的方式来添加一条数据,其中append方法表示的是在stringBuilder中添加一个字符串。
在mMap对象的每次轮训过程中都添加上上述的键值对信息,并且在每次轮训结束的时候通过调研调用stringBuilder.append(“/”)方法来添加一个结束符。这样当整个轮训完成的时候所有的数据都存储在stringBuilder中了。
接下来通过调用stringBuilder对象中的stringBuilder.toString方法来获取最终一个String类型的独享tmpResultStr。通过上述的分析可以知道,上述的生成过程中会在最后一位多添加一个“/”分隔符,则此时需要通过调用tmpResultStr中的tmpResultStr.substring(0,tmpResultStr.length-1)来去掉最后一个字符,截取后的字符标记为resultStr,此时resultStr就是所需的弹幕协议的具体信息内容了。
本方案针对传统方案中无法将Json格式的数据序列化成弹幕消息格式的数据提出了一套全新的解析及序列化的算法设计,并且是一边解析一边转换而不是完全解析好了再进行转换,这样就可以使得转换效率得到大幅度的提升。
实施例三
图2是本发明实施例三提供的消息格式的转换装置的结构示意图。如图2所示,所述消息格式的转换装置,包括:
键值对信息获取模块210,用于获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息;
弹幕消息格式拼接模块220,用于将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式。
本申请实施例所提供的技术方案,通过获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息;将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式。通过采用本申请所提供的技术方案,可以实现对Json格式的格式转换成弹幕消息格式,实现对接收到的Json格式的数据快速的以弹幕消息进行显示的效果。
在上述各实施例的基础上,所述弹幕消息格式拼接模块,包括:首位字符校验单元,用于获取到Json数据时,通过对jsonStr首尾字符分别检索,并判定所述首尾字符是否为第一Json格式标准字符;首位字符删除单元,用于若是,则校验成功,将所述首尾字符删除,并将删除后的字符串赋值给jsonStr,得到赋值后的jsonStr;键值对信息获取单元,用于根据除所述第一Json格式标准字符以外的其他Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到至少一个键值对信息。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例四
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种消息格式的转换方法,该方法包括:
获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息;
将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机***存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机***中,或者可以位于不同的第二计算机***中,第二计算机***通过网络(诸如因特网)连接到计算机***。第二计算机***可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机***中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的消息格式的转换操作,还可以执行本申请任意实施例所提供的消息格式的转换方法中的相关操作。
实施例五
本申请实施例提供了一种安卓终端,该安卓终端中可集成本申请实施例提供的消息格式的转换装置。图3为本申请实施例提供的一种安卓终端的结构示意图。如图3所示,该安卓终端可以包括:存储器301、中央处理器(Central Processing Unit,CPU)302(又称处理器,以下简称CPU)、电路板(图中未示出)和电源电路(图中未示出)。所述电路板安置在所述壳体围成的空间内部;所述CPU302和所述存储器301设置在所述电路板上;所述电源电路,用于为所述安卓终端的各个电路或器件供电;所述存储器301,用于存储可执行程序代码;所述CPU302通过读取所述存储器301中存储的可执行程序代码来运行与所述可执行程序代码对应的计算机程序,以实现以下步骤:
获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息;
将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式。
所述安卓终端还包括:外设接口303、RF(Radio Frequency,射频)电路305、音频电路306、扬声器311、电源管理芯片308、输入/输出(I/O)子***309、触摸屏312、其他输入/控制设备310以及外部端口304,这些部件通过一个或多个通信总线或信号线307来通信。
应该理解的是,图示安卓终端300仅仅是安卓终端的一个范例,并且安卓终端300可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的用于消息格式的转换安卓终端进行详细的描述,该安卓终端以手机为例。
存储器301,所述存储器301可以被CPU302、外设接口303等访问,所述存储器301可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
外设接口303,所述外设接口303可以将设备的输入和输出外设连接到CPU302和存储器301。
I/O子***309,所述I/O子***309可以将设备上的输入输出外设,例如触摸屏312和其他输入/控制设备310,连接到外设接口303。I/O子***309可以包括显示控制器3091和用于控制其他输入/控制设备310的一个或多个输入控制器3092。其中,一个或多个输入控制器3092从其他输入/控制设备310接收电信号或者向其他输入/控制设备310发送电信号,其他输入/控制设备310可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器3092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏312,所述触摸屏312是用户安卓终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子***309中的显示控制器3091从触摸屏312接收电信号或者向触摸屏312发送电信号。触摸屏312检测触摸屏上的接触,显示控制器3091将检测到的接触转换为与显示在触摸屏312上的用户界面对象的交互,即实现人机交互,显示在触摸屏312上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路305,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路305接收并发送RF信号,RF信号也称为电磁信号,RF电路305将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路305可以包括用于执行这些功能的已知电路,其包括但不限于天线***、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路306,主要用于从外设接口303接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器311。
扬声器311,用于将手机通过RF电路305从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片308,用于为CPU302、I/O子***及外设接口所连接的硬件进行供电及电源管理。
本申请实施例提供的安卓终端,可以实现对Json格式的格式转换成弹幕消息格式,实现对接收到的Json格式的数据快速的以弹幕消息进行显示的效果。
上述实施例中提供的消息格式的转换装置、存储介质及安卓终端可执行本申请任意实施例所提供的消息格式的转换方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的消息格式的转换方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (5)

1.一种消息格式的转换方法,其特征在于,包括:
获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息;
所述获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息,包括:
获取到Json数据时,通过对jsonStr首尾字符分别检索,并判定所述首尾字符是否为第一Json格式标准字符;
若是,则校验成功,将所述首尾字符删除,并将删除后的字符串赋值给jsonStr,得到赋值后的jsonStr;
根据除所述第一Json格式标准字符以外的其他Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到至少一个键值对信息;
所述根据除所述第一Json格式标准字符以外的其他Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到至少一个键值对信息,包括:
根据第二Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到字符串数组;
根据第三Json格式标准字符,对所有的所述字符串数组进行分割处理,将每个字符串数组信息分割后存储在模板数组tmpArray2[0],tmpArray2[1]中,得到至少一个键值对信息;
将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式;
将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式,包括:
在预先构建的map对象中存储所有键值对信息;
通过调用entry.getKey()方法来获取map对象中的键信息,并且将获取到的键信息转换成一个键信息的String类型的变量;以及,通过调用entry.getValue()方法来获取map对象中的值信息,并且将获取到的值信息转换成一个值信息的String类型的变量;
通过调用stringBuilde对键信息的String类型的变量以及值信息的String类型的变量按照预设弹幕消息格式进行拼接,得到弹幕消息格式;
所述通过调用stringBuilde对键信息的String类型的变量以及值信息的String类型的变量按照预设弹幕消息格式进行拼接,得到弹幕消息格式,包括:
通过调用stringBuilde对所有的所述键信息的String类型的变量和值信息的String类型的变量之间添加第一弹幕格式标准字符,形成至少一个弹幕消息键值对信息;
对每个所述弹幕消息键值对信息的最后一位添加第二弹幕格式标准字符,并将所有的弹幕消息键值对信息组合成一个结果字符串;
删除所述结果字符串的最后一位的第二弹幕格式标准字符,得到弹幕消息格式。
2.根据权利要求1所述的方法,其特征在于,在根据第三Json格式标准字符,对所有的所述字符串数组进行分割处理,将每个字符串数组信息分割后存储在至少一个模板数组tmpArray2[0],tmpArray2[1]中之后,所述方法还包括:
对每个所述模板数组的tmpArray2[0]数据通过调用TextUtils.equals(tmpArray 2[0],“”)方法判断tmpArray2[0]数据是否为空;
若是,则返回jsonStr校验失败信息;
若否,则确定所述jsonStr校验成功。
3.一种消息格式的转换装置,其特征在于,包括:
键值对信息获取模块,用于获取到Json数据时,对jsonStr进行校验,并在校验过程中,获取至少一个键值对信息;
弹幕消息格式拼接模块,包括:
首位字符校验单元,用于获取到Json数据时,通过对jsonStr首尾字符分别检索,并判定所述首尾字符是否为第一Json格式标准字符;
首位字符删除单元,用于若是,则校验成功,将所述首尾字符删除,并将删除后的字符串赋值给jsonStr,得到赋值后的jsonStr;
键值对信息获取单元,用于根据除所述第一Json格式标准字符以外的其他Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到至少一个键值对信息;
键值对信息获取单元具体用于:根据第二Json格式标准字符,对所述赋值后的jsonStr进行分割处理,得到字符串数组;
根据第三Json格式标准字符,对所有的所述字符串数组进行分割处理,将每个字符串数组信息分割后存储在模板数组tmpArray2[0],tmpArray2[1]中,得到至少一个键值对信息;
弹幕消息格式拼接模块,用于将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式;
将所述至少一个键值对信息按照弹幕消息格式进行拼接,得到弹幕消息格式,包括:
在预先构建的map对象中存储所有键值对信息;
通过调用entry.getKey()方法来获取map对象中的键信息,并且将获取到的键信息转换成一个键信息的String类型的变量;以及,通过调用entry.getValue()方法来获取map对象中的值信息,并且将获取到的值信息转换成一个值信息的String类型的变量;
通过调用stringBuilde对键信息的String类型的变量以及值信息的String类型的变量按照预设弹幕消息格式进行拼接,得到弹幕消息格式;
所述通过调用stringBuilde对键信息的String类型的变量以及值信息的String类型的变量按照预设弹幕消息格式进行拼接,得到弹幕消息格式,包括:
通过调用stringBuilde对所有的所述键信息的String类型的变量和值信息的String类型的变量之间添加第一弹幕格式标准字符,形成至少一个弹幕消息键值对信息;
对每个所述弹幕消息键值对信息的最后一位添加第二弹幕格式标准字符,并将所有的弹幕消息键值对信息组合成一个结果字符串;
删除所述结果字符串的最后一位的第二弹幕格式标准字符,得到弹幕消息格式。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-2中任一所述的消息格式的转换方法。
5.一种安卓终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-2中任一所述的消息格式的转换方法。
CN201810718902.7A 2018-07-03 2018-07-03 一种消息格式的转换方法、装置、存储介质及安卓终端 Active CN109005469B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810718902.7A CN109005469B (zh) 2018-07-03 2018-07-03 一种消息格式的转换方法、装置、存储介质及安卓终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810718902.7A CN109005469B (zh) 2018-07-03 2018-07-03 一种消息格式的转换方法、装置、存储介质及安卓终端

Publications (2)

Publication Number Publication Date
CN109005469A CN109005469A (zh) 2018-12-14
CN109005469B true CN109005469B (zh) 2021-07-23

Family

ID=64598948

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810718902.7A Active CN109005469B (zh) 2018-07-03 2018-07-03 一种消息格式的转换方法、装置、存储介质及安卓终端

Country Status (1)

Country Link
CN (1) CN109005469B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114339373B (zh) * 2022-03-17 2022-05-27 飞狐信息技术(天津)有限公司 一种队列弹幕生成方法、装置、存储介质和设备
CN116055559B (zh) * 2023-03-28 2023-12-22 广州九尾智能科技有限公司 数据交换格式的处理方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970855A (zh) * 2014-05-06 2014-08-06 车智互联(北京)科技有限公司 一种数据处理设备和方法
CN105117379A (zh) * 2015-09-11 2015-12-02 广州华多网络科技有限公司 自动转换程序文本的方法及装置
CN105354020A (zh) * 2015-09-30 2016-02-24 武汉钢铁(集团)公司 一种Json格式数据解析方法及数据接收端
CN106973332A (zh) * 2017-03-10 2017-07-21 武汉斗鱼网络科技有限公司 一种弹幕消息处理方法、解析方法及***
CN107172012A (zh) * 2017-04-18 2017-09-15 北京思特奇信息技术股份有限公司 一种报文格式转换方法和***
CN107465738A (zh) * 2017-08-01 2017-12-12 深圳市金立通信设备有限公司 一种通信方法、服务器及计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE112012002774T5 (de) * 2011-07-01 2014-03-20 Stoneware Inc. Verfahren und Vorrichtung für einen keep-alive Push-Agenten

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103970855A (zh) * 2014-05-06 2014-08-06 车智互联(北京)科技有限公司 一种数据处理设备和方法
CN105117379A (zh) * 2015-09-11 2015-12-02 广州华多网络科技有限公司 自动转换程序文本的方法及装置
CN105354020A (zh) * 2015-09-30 2016-02-24 武汉钢铁(集团)公司 一种Json格式数据解析方法及数据接收端
CN106973332A (zh) * 2017-03-10 2017-07-21 武汉斗鱼网络科技有限公司 一种弹幕消息处理方法、解析方法及***
CN107172012A (zh) * 2017-04-18 2017-09-15 北京思特奇信息技术股份有限公司 一种报文格式转换方法和***
CN107465738A (zh) * 2017-08-01 2017-12-12 深圳市金立通信设备有限公司 一种通信方法、服务器及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"JION数据格式详解";sky_wuyuxiang;《百度文库》;20131122;全文 *

Also Published As

Publication number Publication date
CN109005469A (zh) 2018-12-14

Similar Documents

Publication Publication Date Title
CN108959199B (zh) 一种日志的突出显示方法、装置、存储介质及安卓终端
CN109741755B (zh) 语音唤醒词阈值管理装置及管理语音唤醒词阈值的方法
US20220115012A1 (en) Method and apparatus for processing voices, device and computer storage medium
CN108933968B (zh) 一种消息格式的转换方法、装置、存储介质及安卓终端
CN109243425A (zh) 语音识别测试方法、装置、***、计算机设备及存储介质
US11936605B2 (en) Message processing method, apparatus and electronic device
CN114528044B (zh) 一种接口调用方法、装置、设备及介质
CN104125265A (zh) 节目互动方法、装置、终端、服务器及***
CN109005469B (zh) 一种消息格式的转换方法、装置、存储介质及安卓终端
CN110688305B (zh) 测试环境同步方法、装置、介质、电子设备
CN108882006A (zh) 一种消息格式的转换方法、装置、存储介质及安卓终端
CN108833033B (zh) 射频校准参数的确定方法、装置、存储介质及移动终端
CN113946816A (zh) 基于云服务的鉴权方法、装置、电子设备和存储介质
CN107708183B (zh) 解码算法确定方法、装置、终端及存储介质
CN108153676B (zh) 调试管理方法、装置、存储介质及终端设备
CN112052152A (zh) 一种模拟测试的方法和装置
CN107168776B (zh) 一种事件统计方法、装置、设备及存储介质
CN113220949B (zh) 一种隐私数据识别***的构建方法及装置
CN112003647B (zh) 一种回收光猫的检测方法、装置、设备及存储介质
CN112711602B (zh) 一种存储过程的运行方法、装置,数据库***及存储介质
CN107729302B (zh) 解码算法确定方法、装置、终端及存储介质
JP2022008782A (ja) デバイスデバッグ環境の構築方法及び装置
CN107302605B (zh) 电视代理服务器的配置方法及装置、电视及存储介质
CN112182083A (zh) 文件生成方法、装置、设备及存储介质
CN114371982A (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