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

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

Info

Publication number
CN108882006A
CN108882006A CN201810718305.4A CN201810718305A CN108882006A CN 108882006 A CN108882006 A CN 108882006A CN 201810718305 A CN201810718305 A CN 201810718305A CN 108882006 A CN108882006 A CN 108882006A
Authority
CN
China
Prior art keywords
key
format
information
character string
barrage message
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
Application number
CN201810718305.4A
Other languages
English (en)
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 CN201810718305.4A priority Critical patent/CN108882006A/zh
Publication of CN108882006A publication Critical patent/CN108882006A/zh
Pending legal-status Critical Current

Links

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/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
    • H04N21/4355Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream involving reformatting operations of additional data, e.g. HTML pages on a television screen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • 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
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Document Processing Apparatus (AREA)

Abstract

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

Description

一种消息格式的转换方法、装置、存储介质及安卓终端
技术领域
本发明实施例涉及消息格式转换技术领域,尤其涉及一种消息格式的转换方法、装置、存储介质及安卓终端。
背景技术
当今互联网飞速发展,网络用户的需求变化既快又大,数据消息的传输以及转换效率已经成为领域内比较关注的问题之一。
目前,弹幕消息作为目前用户观看在线视频、在线直播以及其他视频类型节目时的兴趣所在。而数据传输通常是Json格式,如何实现把弹幕消息转换为Json数据格式进行数据传输,已经成为技术人员急需突破的技术难题。
发明内容
本发明实施例提供一种消息格式的转换方法、装置、存储介质及安卓终端,可以实现对弹幕消息格式转换成Json数据格式效果。
第一方面,本发明实施例提供了一种消息格式的转换方法,该方法包括:
获取到待转换的弹幕消息时,对弹幕消息字符串的格式进行校验,并在校验过程中,获取弹幕消息字符串中的键值对信息;
将所述键值对信息按照Json数据格式进行拼接,得到Json数据格式。
进一步的,获取到待转换的弹幕消息时,对弹幕消息字符串的格式进行校验,并在校验过程中,获取弹幕消息字符串中的键值对信息,包括:
获取到待转换的弹幕消息时,提取弹幕消息字符串;
通过调用TextUtils类中的工具方法TextUtils.isEmpty()判断所述弹幕消息字符串是否为空字符串;
若是,则返回弹幕消息字符串格式校验结束消息,结束校验流程。
进一步的,所述获取到待转换的弹幕消息时,对弹幕消息字符串的格式进行校验,并在校验过程中,获取弹幕消息字符串中的键值对信息,包括:
通过调用字符串分割函数,对所述弹幕消息字符串按照第一弹幕消息格式标准字符进行分割处理,得到键值对信息组;
将所述键值对信息组存储在模板数组中;
对所述模板数组中的每个键值对信息组进行按照第二弹幕消息格式标准字符进行分割处理,得到每个键值对信息组的键信息和值信息;
将所述每个键值对信息组的键信息和值信息存入存储在模板数组tmpArray2[0],tmpArray2[1]中,以获取弹幕消息字符串中的键值对信息。
进一步的,在将所述每个键值对信息组的键信息和值信息存入存储在模板数组tmpArray2[0],tmpArray2[1]中,以获取弹幕消息字符串中的键值对信息之后,所述方法还包括:
对每个所述模板数组的tmpArray2[0]数据通过调用TextUtils.equals(tmpArray2[0],“”)方法判断tmpArray2[0]数据是否为空;
若是,则返回弹幕消息字符串的格式校验失败信息;
若否,则确定弹幕消息字符串的格式校验成功。
进一步的,将所述键值对信息按照Json数据格式进行拼接,得到Json数据格式,包括:
在预先构建的map对象中存储所有键值对信息;
通过调用entry.getKey()方法来获取map对象中的键信息,并且将获取到的键信息转换成一个键信息的String类型的变量;以及,通过调用entry.getValue()方法来获取map对象中的值信息,并且将获取到的值信息转换成一个值信息的String类型的变量;
通过调用stringBuilde对键信息的String类型的变量以及值信息的String类型的变量按照Json数据格式进行拼接,Json数据格式。
进一步的,所述通过调用stringBuilde对键信息的String类型的变量以及值信息的String类型的变量按照Json数据格式进行拼接,Json数据格式,包括:
通过调用stringBuilde中的append()方法对所有的所述键信息的String类型的变量和值信息的String类型的变量之间添加第一Json数据格式标准字符和第二Json数据格式标准字符,形成键值对信息拼接字符串;
对每个所述键值对信息拼接字符串的最后一位添加第三Json数据格式标准字符,并将所有的键值对信息拼接字符串组合成一个临时字符串;
删除所述临时字符串的最后一位的第三Json数据格式标准字符,得到Json消息格式字符串。
进一步的,在删除所述临时字符串的最后一位的第三Json数据格式标准字符,得到Json消息格式之后,所述方法还包括:
通过调用stringBuilde中的append()方法在所述Json消息格式字符串的首位添加第四Json数据格式标准字符,得到Json数据格式的标准字符串。
第二方面,本发明实施例还提供了一种消息格式的转换装置,该装置包括:
键值对信息获取模块,用于获取到待转换的弹幕消息时,对弹幕消息字符串的格式进行校验,并在校验过程中,获取弹幕消息字符串中的键值对信息;
Json数据格式生成模块,用于将所述键值对信息按照Json数据格式进行拼接,得到Json数据格式。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的消息格式的转换方法。
第四方面,本申请实施例提供了一种安卓终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的消息格式的转换方法。
本申请实施例所提供的技术方案,通过获取到待转换的弹幕消息时,对弹幕消息字符串的格式进行校验,并在校验过程中,获取弹幕消息字符串中的键值对信息;将所述键值对信息按照Json数据格式进行拼接,得到Json数据格式。通过采用本申请所提供的技术方案,可以实现对弹幕消息格式转换成Json数据格式效果,从而达到了将弹幕消息以Json数据格式进行数据传输的目的。
附图说明
图1是本发明实施例一提供的消息格式的转换方法的流程图;
图2是本发明实施例三提供的消息格式的转换装置的结构示意图;
图3为本申请实施例提供的一种安卓终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本发明实施例一提供的消息格式的转换方法的流程图,本实施例可适用消息格式转换的情况,该方法可以由本发明实施例所提供的消息格式的转换装置来执行,该装置可以由软件和/或硬件的方式来实现,并可集成于安卓终端中。
如图1所示,所述消息格式的转换方法包括:
S110、获取到待转换的弹幕消息时,对弹幕消息字符串的格式进行校验,并在校验过程中,获取弹幕消息字符串中的键值对信息。
其中,可以通过网络连接的形式获取到待转换的弹幕消息,在获取到待转换的弹幕消息之后,需要对待转换的弹幕消息的格式进行校验,这样设置的好处是如果在校验过程中发现收到的待转换的弹幕消息数据不合法,则可以直接取消将其转换为Json数据格式,避免在转换过程中出现失误还要重新确定转换失误的原因是否为待转换的弹幕消息格式不合法造成的。
因为在待转换的弹幕消息中,是以至少一个键值对信息进行信息存储的,示例性的,name@=zhangsan/age@=20/height@=180/sex@=male,其中name与zhangsan就是一个键值对信息,age和20是另一个键值对信息,同理的,height和180以及sex和male都是一个键值对信息。在校验过程中,获取弹幕消息字符串中的键值对信息,也就是获取当前弹幕消息字符串中的所有键值对信息。其中获取方式可以是通过相应的方法去掉弹幕消息字符串中的一些特定的符号,比如“@=”和“/”等。
S120、将所述键值对信息按照Json数据格式进行拼接,得到Json数据格式。
其中,Json数据格式可以是预先获得的可以用来进行数据传输的格式,比如在键值对信息之间加入一些特定的标识符,示例性的,一个弹幕消息的格式如下:jsonStr={"name":"zhangsan","age":"20","height":"180","sex":"male"},可以知道,在其中的每个键值对之间需要插入“:”字符,以及在每组键值对之间需要插入“,”字符,除此之外,还需要对每个键信息和值信息的前后和添加双引号。这样就可以得到包含Json数据的全部键值对信息的弹幕消息内容。
本申请实施例所提供的技术方案,通过获取到待转换的弹幕消息时,对弹幕消息字符串的格式进行校验,并在校验过程中,获取弹幕消息字符串中的键值对信息;将所述键值对信息按照Json数据格式进行拼接,得到Json数据格式。通过采用本申请所提供的技术方案,可以实现对弹幕消息格式转换成Json数据格式效果,从而达到了将弹幕消息以Json数据格式进行数据传输的目的。
在上述技术方案的基础上,可选的,获取到待转换的弹幕消息时,对弹幕消息字符串的格式进行校验,并在校验过程中,获取弹幕消息字符串中的键值对信息,包括:获取到待转换的弹幕消息时,提取弹幕消息字符串;通过调用TextUtils类中的工具方法TextUtils.isEmpty()判断所述弹幕消息字符串是否为空字符串;若是,则返回弹幕消息字符串格式校验结束消息,结束校验流程。这样设置的好处是如果当前的弹幕消息中,不存在键值对信息,则弹幕消息的内容为空,就可以不用进行数据转换及通过Json数据格式进行传输的流程,所以这样设置的好处是有利于简化数据转换流程,对于不需要转换的弹幕消息直接结束转换流程。
所述获取到待转换的弹幕消息时,对弹幕消息字符串的格式进行校验,并在校验过程中,获取弹幕消息字符串中的键值对信息,包括:
通过调用字符串分割函数,对所述弹幕消息字符串按照第一弹幕消息格式标准字符进行分割处理,得到键值对信息组;将所述键值对信息组存储在模板数组中;对所述模板数组中的每个键值对信息组进行按照第二弹幕消息格式标准字符进行分割处理,得到每个键值对信息组的键信息和值信息;将所述每个键值对信息组的键信息和值信息存入存储在模板数组tmpArray2[0],tmpArray2[1]中,以获取弹幕消息字符串中的键值对信息。
其中,第一弹幕消息格式标准字符可以是“/”,第二弹幕消息格式标准字符可以是“@=”。本技术方案中,可以通过分步的将键值对信息组之间的符号以及键值对中键信息与值信息之间的符号分别去掉,从而得到键信息和值信息。这样设置的好处是可以通过分布分割的方式一步一步对弹幕消息字符串的数据格式进行校验,一旦在某一步骤中,分割失败,则可以确定为弹幕消息字符串格式校验不合法,可以直接返回校验错误的结果,并结束消息格式转换过程。
在上述技术方案的基础上,可选的,在将所述每个键值对信息组的键信息和值信息存入存储在模板数组tmpArray2[0],tmpArray2[1]中,以获取弹幕消息字符串中的键值对信息之后,所述方法还包括:对每个所述模板数组的tmpArray2[0]数据通过调用TextUtils.equals(tmpArray 2[0],“”)方法判断tmpArray2[0]数据是否为空;若是,则返回弹幕消息字符串的格式校验失败信息;若否,则确定弹幕消息字符串的格式校验成功。由于弹幕消息中的键信息和值信息中,键信息不可能为空,所以经过此技术方案的校验可以更加准确的确定当前校验的弹幕消息数据是否合法,提高数据校验过程中的准确性和效率。
在上述技术方案的基础上,可选的,将所述键值对信息按照Json数据格式进行拼接,得到Json数据格式,包括:在预先构建的map对象中存储所有键值对信息;通过调用entry.getKey()方法来获取map对象中的键信息,并且将获取到的键信息转换成一个键信息的String类型的变量;以及,通过调用entry.getValue()方法来获取map对象中的值信息,并且将获取到的值信息转换成一个值信息的String类型的变量;通过调用stringBuilde对键信息的String类型的变量以及值信息的String类型的变量按照Json数据格式进行拼接,Json数据格式。
本方案中,给出了一种在Map对象中通过getKey函数和getValue函数来获取预先存入Map对象中键值对信息中的键信息和值信息,并分别转换成键信息的String类型的变量和值信息的String类型的变量,再通过stringBuilde对其进行拼接,得到弹幕消息格式,这样设置的好处是可以去掉键信息和值信息的属性对数据拼接过程中造成的影响,都以String类型的变量进行处理,有利于实现对Json数据格式的转换。
在上述技术方案的基础上,可选的,所述通过调用stringBuilde对键信息的String类型的变量以及值信息的String类型的变量按照Json数据格式进行拼接,Json数据格式,包括:通过调用stringBuilde中的append()方法对所有的所述键信息的String类型的变量和值信息的String类型的变量之间添加第一Json数据格式标准字符和第二Json数据格式标准字符,形成键值对信息拼接字符串;对每个所述键值对信息拼接字符串的最后一位添加第三Json数据格式标准字符,并将所有的键值对信息拼接字符串组合成一个临时字符串;删除所述临时字符串的最后一位的第三Json数据格式标准字符,得到Json消息格式字符串。
其中,通过调用stringBuilde中的append()方法实现对键值对信息中的键信息和值信息之间的第一Json数据格式标准字符和第二Json数据格式标准字符进行添加,并对每组键值对信息的最后一位添加第三Json数据格式标准字符,在去掉整个字符串最后一个位置的第三Json数据格式标准字符后,可以形成Json数据格式,从而进行弹幕消息到Json数据之间的转换。
在上述各技术方案的基础上,可选的,在删除所述临时字符串的最后一位的第三Json数据格式标准字符,得到Json消息格式之后,所述方法还包括:通过调用stringBuilde中的append()方法在所述Json消息格式字符串的首位添加第四Json数据格式标准字符,得到Json数据格式的标准字符串。其中,第四Json数据格式标准字符可以是“{”和“}”,这样设置后,可以完全实现jsonStr={"name":"zhangsan","age":"20","height":"180","sex":"male"}的标准格式。
实施例二
本实施例在上述实施例的基础上提供的优选实施例,为了能够让本领域技术人员更加清晰的了解本申请所提供的技术方案,本优选实施例如下:
通过本方案的实施能够快速的将Json格式的数据转变成弹幕格式的协议数据,并且该转换过程能够实现解析与转换同时进行来达到提高转换效率的目的。
本方案将主要围绕下述几个方面来进行展开和说明。
一、弹幕消息的校验。
二、数据的转换流程。
接下来将详细描述上述步骤的实现方法和实施流程:
一、弹幕消息的校验
本步骤主要描述弹幕消息的校验方法,通过本步骤的实施能够有效的校验弹幕消息是否是合法的,只有是合法的弹幕消息才进行转换,否则不进行转换,这样可以提前将非法数据进行屏蔽从而提高转换的效率。
为了对弹幕消息进行合法性的校验首先给一个示例的弹幕消息字符串的数据格式来进行说明和判断方法,name@=zhangsan/age@=20/height@=180/sex@=male;,接下来我们将针对上述问题进行解析处理。
首先判定通过调用TextUtils类中的工具方法TextUtils.isEmpty(jsonStr)来判定jsonStr是不是一个空字符串,如果返回true则表示是空字符串此时就直接校验结束,Json数据不合法,否则就开始真正的校验流程。
接下来在通过调用字符串分割函数来对弹幕消息字符串进行分割处理,具体是通过调用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数据格式的形式,具体如下所示;
jsonStr={"name":"zhangsan","age":"20","height":"180","sex":"male"};
接下来我们将详细描述具体的转换流程是如何实施的。
通过步骤一中的前述步骤已经可以解析出弹幕消息字符串中的多个键值对信息了,此时我们需要构建一个Map对象,具体的构建方法是通过调用Map<String,String>mMap=new HashMap<String,String>()方法来构建一个mMap对象,并且mMap对象中的键是一个String类型的数据,值也是一个String类型的数据。
接下来,通过调用mMap中的mMap.put(tmpArray2[0],tmpArray2[1])函数将解析出来的键值对信息存储到一个mMap对象中,上述步骤对tmpArray进行轮训判定过程中会多次调用mMap.put(tmpArray2[0],tmpArray2[1])函数,这样轮询完所有的tmpArray数组后此时mMap对象中就存储了弹幕消息字符串中所有的键值对信息了。
接下来,需要构建一个StringBuilder类型的类,该类是用于做字符串拼接操作的,具体的构建方法是通过调用StringBuilder stringBuilder=new StringBuilder();
首先通过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(“).append(key).append(”).append(“:”).append(“).append(value).append(”)的方式来添加一条数据,其中append方法表示的是在stringBuilder中添加字符串。
在mMap对象的每次轮训过程中都添加上上述的键值对信息,并且在每次轮训结束的时候通过调用stringBuilder.append(“,”)方法来添加一个结束符。这样当整个轮训完成的时候所有的数据都存储在stringBuilder中了。
接下来通过调用stringBuilder对象中的stringBuilder.toString方法来获取最终一个String类型的独享tmpResultStr。通过上述的分析可以知道,上述的生成过程中会在最后一位多添加一个“,”分隔符,则此时需要通过调用tmpResultStr中的tmpResultStr.substring(0,tmpResultStr.length-1)来去掉最后一个字符,截取后的字符标记为resultStr。再通过调用stringBuilder.append({).append(resultStr).append(}).添加括号后的字符我们标记为resultStr,此时resultStr就是所需的Json数据的具体信息内容了。
本方案针对传统方案中无法将Json数据格式的数据序列化成弹幕消息格式的数据提出了一套全新的解析及序列化的算法设计,并且是一边解析一边转换而不是完全解析好了再进行转换,这样就可以使得转换效率得到大幅度的提升。
实施例三
图2是本发明实施例三提供的消息格式的转换装置的结构示意图。如图2所示,所述消息格式的转换装置,包括:
键值对信息获取模块210,用于获取到待转换的弹幕消息时,对弹幕消息字符串的格式进行校验,并在校验过程中,获取弹幕消息字符串中的键值对信息;
Json数据格式生成模块220,用于将所述键值对信息按照Json数据格式进行拼接,得到Json数据格式。
本申请实施例所提供的技术方案,通过获取到待转换的弹幕消息时,对弹幕消息字符串的格式进行校验,并在校验过程中,获取弹幕消息字符串中的键值对信息;将所述键值对信息按照Json数据格式进行拼接,得到Json数据格式。通过采用本申请所提供的技术方案,可以实现对弹幕消息格式转换成Json数据格式效果,从而达到了将弹幕消息以Json数据格式进行数据传输的目的。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例四
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种消息格式的转换方法,该方法包括:
获取到待转换的弹幕消息时,对弹幕消息字符串的格式进行校验,并在校验过程中,获取弹幕消息字符串中的键值对信息;
将所述键值对信息按照Json数据格式进行拼接,得到Json数据格式。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如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数据格式进行拼接,得到Json数据格式。
所述安卓终端还包括:外设接口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 (10)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
CN108882006A true CN108882006A (zh) 2018-11-23

Family

ID=64298290

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN108882006A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614327A (zh) * 2018-12-06 2019-04-12 北京字节跳动网络技术有限公司 用于输出信息的方法和装置
CN110933118A (zh) * 2020-02-20 2020-03-27 深圳市城市交通规划设计研究中心股份有限公司 边缘计算网关安全通信方法、系统、终端设备及服务器
CN113255291A (zh) * 2021-05-31 2021-08-13 杭州米络星科技(集团)有限公司 直播间消息处理方法、装置及终端

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130007299A1 (en) * 2011-07-01 2013-01-03 Stoneware, Inc. Method and apparatus for a keep-alive push agent
CN103379127A (zh) * 2012-04-12 2013-10-30 阿里巴巴集团控股有限公司 服务器与客户端间的数据交互方法及装置
CN103455459A (zh) * 2012-05-31 2013-12-18 国际商业机器公司 向iWidget传输负载数据的方法和系统
CN104462322A (zh) * 2014-12-01 2015-03-25 北京国双科技有限公司 字符串比对方法和装置
CN105573758A (zh) * 2015-12-16 2016-05-11 福建星网智慧科技股份有限公司 基于动态字节码编译技术的codejson框架
CN106598922A (zh) * 2016-12-23 2017-04-26 Tcl集团股份有限公司 一种字符串转换方法及系统
CN106973332A (zh) * 2017-03-10 2017-07-21 武汉斗鱼网络科技有限公司 一种弹幕消息处理方法、解析方法及系统
CN107102930A (zh) * 2017-03-29 2017-08-29 武汉斗鱼网络科技有限公司 一种json格式日志的生成方法及装置
CN107172012A (zh) * 2017-04-18 2017-09-15 北京思特奇信息技术股份有限公司 一种报文格式转换方法和系统
CN108073391A (zh) * 2016-11-11 2018-05-25 阿里巴巴集团控股有限公司 一种json字符串传输、处理的方法及设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130007299A1 (en) * 2011-07-01 2013-01-03 Stoneware, Inc. Method and apparatus for a keep-alive push agent
CN103379127A (zh) * 2012-04-12 2013-10-30 阿里巴巴集团控股有限公司 服务器与客户端间的数据交互方法及装置
CN103455459A (zh) * 2012-05-31 2013-12-18 国际商业机器公司 向iWidget传输负载数据的方法和系统
CN104462322A (zh) * 2014-12-01 2015-03-25 北京国双科技有限公司 字符串比对方法和装置
CN105573758A (zh) * 2015-12-16 2016-05-11 福建星网智慧科技股份有限公司 基于动态字节码编译技术的codejson框架
CN108073391A (zh) * 2016-11-11 2018-05-25 阿里巴巴集团控股有限公司 一种json字符串传输、处理的方法及设备
CN106598922A (zh) * 2016-12-23 2017-04-26 Tcl集团股份有限公司 一种字符串转换方法及系统
CN106973332A (zh) * 2017-03-10 2017-07-21 武汉斗鱼网络科技有限公司 一种弹幕消息处理方法、解析方法及系统
CN107102930A (zh) * 2017-03-29 2017-08-29 武汉斗鱼网络科技有限公司 一种json格式日志的生成方法及装置
CN107172012A (zh) * 2017-04-18 2017-09-15 北京思特奇信息技术股份有限公司 一种报文格式转换方法和系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
KH5Q2W1587JUA: "java中map集合的用法", 《百度文库》 *
SKY_WUYUXIANG: "JION数据格式详解", 《百度文库》 *
山西IT优就业: "如何将string转换成json", 《百度知道》 *
移动荣誉2: "在线求key=value & 怎么转换成map", 《百度贴吧》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614327A (zh) * 2018-12-06 2019-04-12 北京字节跳动网络技术有限公司 用于输出信息的方法和装置
CN109614327B (zh) * 2018-12-06 2022-02-01 北京字节跳动网络技术有限公司 用于输出信息的方法和装置
CN110933118A (zh) * 2020-02-20 2020-03-27 深圳市城市交通规划设计研究中心股份有限公司 边缘计算网关安全通信方法、系统、终端设备及服务器
CN113255291A (zh) * 2021-05-31 2021-08-13 杭州米络星科技(集团)有限公司 直播间消息处理方法、装置及终端

Similar Documents

Publication Publication Date Title
CN106648945B (zh) 一种接口数据测试方法、装置及电子设备
CN108882006A (zh) 一种消息格式的转换方法、装置、存储介质及安卓终端
CN108933968A (zh) 一种消息格式的转换方法、装置、存储介质及安卓终端
CN111063353B (zh) 允许自定义语音交互内容的客户端处理方法及用户终端
CN110188185A (zh) 多轮对话的处理方法、装置、设备和存储介质
CN109271768A (zh) 发布信息管理方法、装置、存储介质及终端
CN109947449A (zh) 系统升级方法、装置、存储介质及电子设备
CN116955569A (zh) 对话生成方法、装置、设备及存储介质
CN108227953B (zh) 文字输入方法及相关产品
CN111124541B (zh) 一种配置文件的生成方法、装置、设备及介质
CN112380386A (zh) 视频搜索方法及装置、终端、计算机可读存储介质
CN112084179A (zh) 一种数据处理的方法、装置、设备及存储介质
CN109005469A (zh) 一种消息格式的转换方法、装置、存储介质及安卓终端
CN111597107A (zh) 信息输出方法、装置和电子设备
CN113467777A (zh) 路径识别方法、装置和系统
CN107832224A (zh) 一种应用程序的测试方法、装置、存储介质及智能终端
CN104347081A (zh) 一种测试场景说法覆盖度的方法和装置
CN116996601A (zh) 报文格式的转换方法、装置、电子设备及存储介质
CN110516258B (zh) 数据校验方法及装置、存储介质、电子装置
CN109656550A (zh) json数据解析方法、装置、设备及可读存储介质
CN109788126A (zh) 验证码输入方法及设备
CN108037839B (zh) 文字输入方法及相关产品
CN105763944B (zh) 模块电视及其屏端升级方法
CN108932128A (zh) 一种消息格式的转换方法、装置、存储介质及安卓终端
CN108848398A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181123