CN108694041A - 数据转换方法、装置及服务终端 - Google Patents

数据转换方法、装置及服务终端 Download PDF

Info

Publication number
CN108694041A
CN108694041A CN201710126981.8A CN201710126981A CN108694041A CN 108694041 A CN108694041 A CN 108694041A CN 201710126981 A CN201710126981 A CN 201710126981A CN 108694041 A CN108694041 A CN 108694041A
Authority
CN
China
Prior art keywords
data
key
keys
json
module
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
CN201710126981.8A
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 CN201710126981.8A priority Critical patent/CN108694041A/zh
Publication of CN108694041A publication Critical patent/CN108694041A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Abstract

本发明涉及互联网技术领域,具体涉及一种数据转换方法、装置及服务终端,该数据转换方法用于将Json数据转换为JavaBean数据,其包括将Json数据对应的键和值形成多个键值对集合,提取所述多个键值对集合中的所有键,定义每一个所述键的私有属性,输出定义私有属性后的所有所述键,所有所述键及输出所有所述键的源代码共同构成JavaBean数据。进而将Json数据自动生成了JavaBean数据,提升了开发效率,降低了人力成本。

Description

数据转换方法、装置及服务终端
技术领域
本发明涉及互联网技术领域,具体而言,涉及一种数据转换方法、装置及服务终端。
背景技术
在开发过程中我们常见的会使用到网络通信、到进程间通信,数据库读写,对象传递等。这些功能的实现通常都离不开JavaBean的实现。JavaBean承载着数据对象的内容,在整个系统中起到了举足轻重的作用。
但是JavaBean的生成通常都是程序员手动生成,根据具体的业务逻辑定义出JavaBean中所需要的字段信息。然后通过编写对应的getter和setter方法来实现JavaBean中的功能。这些getter和setter方法非常简单,程序员通常都是自己手动编写,降低了开发效率同时也浪费人力和无力成本。而Json格式数据是现在普遍使用的数据格式,因此,提供一种将Json数据自动生成JavaBean的方法,使得能够直接将网络返回的Json数据自动生成对应的JavaBean数据是非常必要的。
发明内容
本发明的目的在于提供一种数据转换方法,使得Json数据能自动转换成JavaBean数据,提升开发效率,降低人力成本。
本发明的另一目的在于提供一种数据转换装置,使得Json数据能自动转换成JavaBean数据,提升开发效率,降低人力成本。
本发明的另一目的在于提供一种服务终端,使得Json数据能自动转换成JavaBean数据,提升开发效率,降低人力成本。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种数据转换方法,用于将Json数据转换为JavaBean数据,所述方法包括:
将Json数据对应的键和值形成多个键值对集合;
提取所述多个键值对集合中的所有键;
定义每一个所述键的私有属性;
输出定义私有属性后的所有所述键,所有所述键及输出所有所述键的源代码共同构成JavaBean数据。
第二方面,本发明实施例还提供了一种数据转换装置,所述装置包括:
集合模块,用于将Json数据对应的键和值形成多个键值对集合;
提取模块,用于提取所述多个键值对集合中的所有键;
定义模块,用于定义每一个所述键的私有属性;
输出模块,用于输出定义私有属性后的所有所述键,所有所述键及输出所有所述键的源代码共同构成JavaBean数据。
第三方面,本发明实施例还提供了一种服务终端,所述服务终端包括:
存储器;
处理器;以及
数据转换装置,所述数据转换装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,所述数据转换装置包括:
集合模块,用于将Json数据对应的键和值形成多个键值对集合;
提取模块,用于提取所述多个键值对集合中的所有键;
定义模块,用于定义每一个所述键的私有属性;
输出模块,用于输出定义私有属性后的所有所述键,所有所述键及输出所有所述键的源代码共同构成JavaBean数据。
本发明实施例提供的一种数据转换方法、装置及服务终端,该数据转换方法用于将Json数据转换为JavaBean数据,其包括将Json数据对应的键和值形成多个键值对集合,提取所述多个键值对集合中的所有键,定义每一个所述键的私有属性,输出定义私有属性后的所有所述键,所有所述键及输出所有所述键的源代码共同构成JavaBean数据。进而将Json数据自动生成了JavaBean数据,提升了开发效率,降低了人力成本。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的服务终端的结构示意图。
图2示出了本发明实施例提供的数据转换方法的流程图。
图3示出了本发明实施例提供的另一种数据转换方法的流程图。
图4示出了本发明实施例提供的另一种数据转换方法的流程图。
图5示出了本发明实施例提供的数据转换装置的结构示意图。
图示:100-服务终端;110-存储器;120-处理器;130-数据转换装置;131-获取模块;132-去除模块;133-判断模块;134-集合模块;135-提取模块;136-定义模块;137-输出模块;138-重写模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
本发明实施例提供的数据转换方法及数据转换装置130均应用于服务终端100,该服务终端100可以是,但不限于,台式电脑、平板电脑。请参照图1,是本发明实施例提供的服务终端100的结构示意图。该服务终端100用于运行Json数据及Json数据转换而成的JavaBean数据,该服务终端100包括存储器110、处理器120和数据转换装置130。
该存储器110、处理器120各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述数据转换装置130包括至少一个可以软件或固件(firmware)的形式存储于存储器110中或固化在服务终端100的操作系统(operating system,OS)中的软件功能模块。处理器120用于执行存储器110中存储的可执行模块,例如数据转换装置130包括的软件功能模块及计算机程序等。
其中,存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器110用于存储程序,处理器120在接收到执行指令后,执行所述程序。
请参照图2,是本发明实施例提供的数据转换方法的流程图。该数据转换方法应用于服务终端100。该数据转换方法包括:
步骤S110,将Json数据对应的键和值形成多个键值对集合。
该Json数据为包含键和值的字符串,如‘{“name”:“huangxiaojian”,“age”:“23”}’,其中“name”“age”为键,“huangxiaojian”“23”为对应键的值。通过var jsonArray=JSON.parse(text)函数,将Json数据对应的键和值形成多个键值对集合,即jsonArray为键值对集合,其中text为Json数据。jsonArray中的键值对集合具体格式为,age:“23”name:“huangxiaojian”。通过将Json数据对应的键和值形成多个键值对集合,使得更加便于后面的分析,该键值对集合,即jsonArray,类似于数组,将Json数据的键和值形成多个键值对集合,使得便于后面函数的调用,进而提升了工作效率,降低了人力成本。
步骤S120,提取所述多个键值对集合中的所有键。
为了将jsonArray中的数据转换成JavaBean数据,需要对jsonArray中的数据通过循环进行遍历,进而将jsonArray键值对集合中的键提取出来。具体为,通过for(key injsonArray){bean[key]={key}}提取jsonArray键值对集合中的键,其中key为键,如“name”“age”,将提取出来的键赋值于bean对象,则bean对象内存储jsonArray键值对集合中的所有键。在本发明实施例中,通过for循环遍历jsonArray键值对集合,但不限于此,还可以通过while循环等其他循环方式遍历jsonArray键值对集合。
步骤S130,定义每一个所述键的私有属性。
通过循环遍历bean对象中每一个键,对bean对象内的每一个键定义私有属性。具体为,在本实施例中,通过for(keyinbean)遍历bean对象中所有键,同时对每一键通过private添加私有属性,进而得到定义私有属性后的所有键。在本实施例中,通过for循环遍历bean对象中所有键,但不限于此,还可以通过其他循环方式,如while循环,遍历bean对象中的所有键。
步骤S140,输出定义私有属性后的所有所述键,所有所述键及输出所有所述键的源代码共同构成JavaBean数据。
通过get方法输出定义私有属性后的所有所述键,具体为,通过for循环遍历bean对象中的所有键,通过beanText+="public String get"+bean[key]+"(){return"+bean[key]+";}"方法一一输出定义私有属性后的所有所述键,其中beanText表示输出结果,即所有定义私有属性后的键。所有所述键的源代码,包括通过var jsonArray=JSON.parse(text)语句获取键值对集合,通过for(key in jsonArray){bean[key]={key}}语句从键值对集合中提取键值,通过private为每一个键定义私有属性,以及输出所有所述键的源代码,包括通过beanText+="public String get"+bean[key]+"(){return"+bean[key]+";}"将定义私有属性后的键一一输出,共同构成了JavaBean数据。该JavaBean数据类似于Java中的类,编写程序代码时,可以通过Java代码调用JavaBean数据以实现响应的功能。通过Java代码直接调用JavaBean数据,进而对Json数据进行解析,减少了程序员的工作量,避免程序员手动编写JavaBean程序代码,提高了工作效率,降低了人力成本。
请参照图3,是本发明实施例提供的另一种数据转换方法的流程图,该数据转换方法应用于服务终端100,该数据转换方法包括:
步骤S210,获取数据,去除获取数据中的空格。
读取用户输入的数据,如用户是通过EditText对话框输入数据,则对EditText对话框增加一个ID属性,并将该ID属性命名为json_str,再通过varjsonStr=document.getElementById('json_str').value获取该EditText对话框内的数据,即用户输入的数据,将用户输入的数据赋值于jsonStr中以便于之后的分析。在本发明实施例中,是通过定义对话框的属性,进而通过函数getElementById获取对话框内的数据,但不限于此,还可以通过其他方式获取用户输入的数据。
获取用户输入的数据之后,需要对该数据进行格式化,即去掉获取的数据中的空格。在本发明实施例中,是通过var text=trimStr(jsonStr)函数去除获取的数据中的空格,其中,jsonStr是指用户输入的数据,trimStr是指去除数据中空格的函数,text是指通过trimStr函数去除获取的数据中空格后得到的数据,即该数据中不包括空格,最后通过var text=trimStr(jsonStr)方法将获取的数据jsonStr去掉空格,得到不包含空格的数据text,进而便于后续分析,提高分析效率。
步骤S220,获取数据,判断所述获取的数据是否为Json数据。
获取去掉空格后的用户输入的数据,即text,判断text包含的数据是否为Json数据。Json数据是一种轻量级的数据交换格式,通常具有典型的数据格式,Json数据通常为以“{”开头,同时以“}”结尾的字符串。在本发明实施例中,通过if(text[0]==="{"&&text[text.length-1]==="}")方法来判定text包含的数据的首尾字符是否是预定字符,如果text包含的数据的首尾字符是预定字符,则text是Json数据,如果text包含的数据的首尾字符不是预定的字符,则text不是Json数据,其中,预定的字符指Json数据的首字符“{”和Json数据的尾字符“}”。在本发明实施例中,通过判断text的首尾字符是否是预定字符,进而判断text包含的数据是否是Json数据,但不限于此,还可以通过其他方式判断text包含的数据是否是Json数据。
步骤S230,将Json数据对应的键和值形成多个键值对集合。
通过步骤S220的判断,若该用户输入的数据是Json数据,则将该Json数据对应的键和值形成多个键值对集合,具体为:该Json数据为包含键和值的字符串,如‘{“name”:“huangxiaojian”,“age”:“23”}’,其中“name”“age”为键,“huangxiaojian”“23”为对应键的值。通过var jsonArray=JSON.parse(text)函数,将Json数据对应的键和值形成多个键值对集合,即jsonArray为键值对集合,其中text为Json数据。jsonArray中的键值对集合具体格式为,age:“23”name:“huangxiaojian”。通过将Json数据对应的键和值形成多个键值对集合,使得更加便于后面的分析,该键值对集合,即jsonArray,类似于数组,将Json数据的键和值形成多个键值对集合,使得便于后面函数的调用,进而提升了工作效率,降低了人力成本。
步骤S240,提取所述多个键值对集合中的所有键。
为了将jsonArray中的数据转换成JavaBean数据,需要对jsonArray中的数据通过循环进行遍历,进而将jsonArray键值对集合中的键提取出来。具体为,通过for(key injsonArray){bean[key]={key}}提取jsonArray键值对集合中的键,其中key为键,如“name”“age”,将提取出来的键赋值于bean对象,则bean对象内存储jsonArray键值对集合中的所有键。在本发明实施例中,通过for循环遍历jsonArray键值对集合,但不限于此,还可以通过while循环等其他循环方式遍历jsonArray键值对集合。
步骤S250,定义每一个所述键的私有属性。
通过循环遍历bean对象中每一个键,对bean对象内的每一个键定义私有属性。具体为,在本实施例中,通过for(keyinbean)遍历bean对象中所有键,同时对每一键通过private添加私有属性,进而得到定义私有属性后的所有键。在本实施例中,通过for循环遍历bean对象中所有键,但不限于此,还可以通过其他循环方式,如while循环,遍历bean对象中的所有键。
步骤S260,输出定义私有属性后的所有所述键,所有所述键及输出所有所述键的源代码共同构成JavaBean数据。
通过get方法输出定义私有属性后的所有所述键,具体为,通过for循环遍历bean对象中的所有键,通过beanText+="public String get"+bean[key]+"(){return"+bean[key]+";}"方法一一输出定义私有属性后的所有所述键,其中beanText表示输出结果,即所有定义私有属性后的键。所有所述键的源代码,包括通过var jsonArray=JSON.parse(text)语句获取键值对集合,通过for(key in jsonArray){bean[key]={key}}语句从键值对集合中提取键值,通过private为每一个键定义私有属性,以及输出所有所述键的源代码,包括通过beanText+="public String get"+bean[key]+"(){return"+bean[key]+";}"将定义私有属性后的键一一输出,共同构成了JavaBean数据。该JavaBean数据类似于Java中的类,编写程序代码时,可以通过Java代码调用JavaBean数据以实现响应的功能。通过Java代码直接调用JavaBean数据,进而对Json数据进行解析,减少了程序员的工作量,避免程序员手动编写JavaBean程序代码,提高了工作效率,降低了人力成本。
请参照图4,是本发明实施例提供的另一种数据转换方法的流程图,该数据转换方法应用于服务终端100。该数据转换方法包括:
步骤S310,获取数据,去除获取的数据中的空格。
读取用户输入的数据,如用户是通过EditText对话框输入数据,则对EditText对话框增加一个ID属性,并将该ID属性命名为json_str,再通过varjsonStr=document.getElementById('json_str').value获取该EditText对话框内的数据,即用户输入的数据,将用户输入的数据赋值于jsonStr中以便于之后的分析。在本发明实施例中,是通过定义对话框的属性,进而通过函数getElementById获取对话框内的数据,但不限于此,还可以通过其他方式获取用户输入的数据。
获取用户输入的数据之后,需要对该数据进行格式化,即去掉获取的数据中的空格。在本发明实施例中,是通过var text=trimStr(jsonStr)函数去除获取的数据中的空格,其中,jsonStr是指用户输入的数据,trimStr是指去除数据中空格的函数,text是指通过trimStr函数去除获取的数据中空格后得到的数据,即该数据中不包括空格,最后通过var text=trimStr(jsonStr)方法将获取的数据jsonStr去掉空格,得到不包含空格的数据text,进而便于后续分析,提高分析效率。
步骤S320,获取数据,判断所述获取的数据是否为Json数据。
获取去掉空格后的用户输入的数据,即text,判断text包含的数据是否为Json数据。Json数据是一种轻量级的数据交换格式,通常具有典型的数据格式,Json数据通常为以“{”开头,同时以“}”结尾的字符串。在本发明实施例中,通过if(text[0]==="{"&&text[text.length-1]==="}")方法来判定text包含的数据的首尾字符是否是预定字符,如果text包含的数据的首尾字符是预定字符,则text是Json数据,如果text包含的数据的首尾字符不是预定的字符,则text不是Json数据,其中,预定的字符指Json数据的首字符“{”和Json数据的尾字符“}”。在本发明实施例中,通过判断text的首尾字符是否是预定字符,进而判断text包含的数据是否是Json数据,但不限于此,还可以通过其他方式判断text包含的数据是否是Json数据。
步骤S330,将Json数据对应的键和值形成多个键值对集合。
通过步骤S320的判断,若该用户输入的数据是Json数据,则将该Json数据对应的键和值形成多个键值对集合,具体为:该Json数据为包含键和值的字符串,如‘{“name”:“huangxiaojian”,“age”:“23”}’,其中“name”“age”为键,“huangxiaojian”“23”为对应键的值。通过var jsonArray=JSON.parse(text)函数,将Json数据对应的键和值形成多个键值对集合,即jsonArray为键值对集合,其中text为Json数据。jsonArray中的键值对集合具体格式为,age:“23”name:“huangxiaojian”。通过将Json数据对应的键和值形成多个键值对集合,使得更加便于后面的分析,该键值对集合,即jsonArray,类似于数组,将Json数据的键和值形成多个键值对集合,使得便于后面函数的调用,进而提升了工作效率,降低了人力成本。
步骤S340,提取所述多个键值对集合中的所有键。
为了将jsonArray中的数据转换成JavaBean数据,需要对jsonArray中的数据通过循环进行遍历,进而将jsonArray键值对集合中的键提取出来。具体为,通过for(key injsonArray){bean[key]={key}}提取jsonArray键值对集合中的键,其中key为键,如“name”“age”,将提取出来的键赋值于bean对象,则bean对象内存储jsonArray键值对集合中的所有键。在本发明实施例中,通过for循环遍历jsonArray键值对集合,但不限于此,还可以通过while循环等其他循环方式遍历jsonArray键值对集合。
步骤S350,定义每一个所述键的私有属性。
通过循环遍历bean对象中每一个键,对bean对象内的每一个键定义私有属性。具体为,在本实施例中,通过for(keyinbean)遍历bean对象中所有键,同时对每一键通过private添加私有属性,进而得到定义私有属性后的所有键。在本实施例中,通过for循环遍历bean对象中所有键,但不限于此,还可以通过其他循环方式,如while循环,遍历bean对象中的所有键。
步骤S360,输出定义私有属性后的所有所述键,所有所述键及输出所有所述键的源代码共同构成JavaBean数据。
通过get方法输出定义私有属性后的所有所述键,具体为,通过for循环遍历bean对象中的所有键,通过beanText+="public String get"+bean[key]+"(){return"+bean[key]+";}"方法一一输出定义私有属性后的所有所述键,其中beanText表示输出结果,即所有定义私有属性后的键。所有所述键的源代码,包括通过var jsonArray=JSON.parse(text)语句获取键值对集合,通过for(key in jsonArray){bean[key]={key}}语句从键值对集合中提取键值,通过private为每一个键定义私有属性,以及输出所有所述键的源代码,包括通过beanText+="public String get"+bean[key]+"(){return"+bean[key]+";}"将定义私有属性后的键一一输出,共同构成了JavaBean数据。该JavaBean数据类似于Java中的类,编写程序代码时,可以通过Java代码调用JavaBean数据以实现响应的功能。通过Java代码直接调用JavaBean数据,进而对Json数据进行解析,减少了程序员的工作量,避免程序员手动编写JavaBean程序代码,提高了工作效率,降低了人力成本。
步骤S370,将定义私有属性后的所有所述键中的至少一个进行重写,所有所述键及对所有所述键中至少一个进行重写的源代码为JavaBean数据。
通过set方法对定义私有属性后的所有所述键中的至少一个进行重写,即当所有键中的某一个需要更改时,通过set方法对其进行重写。具体为,通过beanText+="publicString set"+bean[key]+"("+bean[key]+")"+"{this."+bean[key]+"="+bean[key]+";}"方法对原来的键进行重写,如原来的键为“name”,通过该方法将“name”重写为“address”,并将重写后的键赋值于beanText用于输出。通过set方法可以根据实际需要更改键,避免重写代码,节省了工作量,提高了工作效率。
请参照图5,是本发明实施例提供的数据转换装置130的结构示意图。该数据转换装置应用于服务终端100,该数据转换装置130包括:
集合模块134,用于将Json数据对应的键和值形成多个键值对集合。
在本发明实施例中,步骤S110、S230、S330可以由集合模块134执行。
提取模块135,用于提取所述多个键值对集合中的所有键。
在本发明实施例中,步骤S120、S240、S340可以由提取模块135执行。
定义模块136,用于定义每一个所述键的私有属性。
在本发明实施例中,步骤S130、S250、S350可以由定义模块136执行。
输出模块137,用于输出定义私有属性后的所有所述键,所有所述键及输出所有所述键的源代码共同构成JavaBean数据。
在本发明实施例中,步骤S140、S260、S360可以由输出模块137执行。
该数据转换装置130还包括:
获取模块131,用于获取数据。
在本发明实施例中,步骤S210、S220、S310、S320可以由获取模块131执行。
去除模块132,用于去除获取的数据中的空格。
在本发明实施例中,步骤S210、S310可以由去除模块132执行。
判断模块133,用于判断获取的数据是否是Json数据。
在本发明实施例中,步骤S220、S320可以由判断模块133执行。
该数据转换装置130还包括:
重写模块138,用于将定义私有属性后的所有所述键中至少一个进行重写,所有所述键及对所有所述键中至少一个进行重写的源代码为JavaBean数据。
在本发明实施例中,步骤S370可以由重写模块138执行。
该数据转换装置130已经在数据转换方法中详细描述,在此不再赘述。
综上所述,本发明实施例提供一种数据转换方法、装置及服务终端,该服务终端包括数据转换装置,该数据转换方法应用于该服务终端。该数据转换方法包括获取数据,去除获取数据中的空格;判断去除空格后的数据是否是Json数据,具体为,通过判断去除空格后的数据首尾是否包含预定字符,若包含预定字符,则该数据为Json数据;进而将该Json数据中对应的键和值形成多个键值对集合,提取多个键值对集合中的所有键,定义每一个键的私有属性,进而通过get方法将所有键输出供Java代码调用。同时,如果需要对所有键中某一个键进行更改,则通过set方法对需要更改的键进行重写。所有键及对所有键输出及重写的代码构成JavaBean数据,该JavaBean数据类似于“类”,可供Java代码直接调用,进而程序员可以不必手写JavaBean代码,提高了工作效率,节约了人力成本。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (11)

1.一种数据转换方法,用于将Json数据转换为JavaBean数据,其特征在于,所述方法包括:
将Json数据对应的键和值形成多个键值对集合;
提取所述多个键值对集合中的所有键;
定义每一个所述键的私有属性;
输出定义私有属性后的所有所述键,所有所述键及输出所有所述键的源代码共同构成JavaBean数据。
2.如权利要求1所述的数据转换方法,其特征在于,所述将Json数据对应的键和值形成多个键值对集合之前还包括:
获取数据,判断所述获取的数据是否为Json数据。
3.如权利要求2所述的数据转换方法,其特征在于,所述判断所述获取的数据是否为Json数据包括:
判断所述获取的数据首尾字符是否是预定字符,如果所述获取的数据首尾字符均为预定字符,则所述获取的数据是Json数据。
4.如权利要求1所述的数据转换方法,其特征在于,所述方法还包括:
将定义私有属性后的所有所述键中的至少一个进行重写,所有所述键及对所有所述键中至少一个进行重写的源代码为JavaBean数据。
5.如权利要求1所述的数据转换方法,其特征在于,所述将Json数据对应的键和值形成多个键值对之前还包括步骤:
获取数据,去除获取的数据中的空格。
6.一种数据转换装置,其特征在于,所述装置包括:
集合模块,用于将Json数据对应的键和值形成多个键值对集合;
提取模块,用于提取所述多个键值对集合中的所有键;
定义模块,用于定义每一个所述键的私有属性;
输出模块,用于输出定义私有属性后的所有所述键,所有所述键及输出所有所述键的源代码共同构成JavaBean数据。
7.如权利要求6所述的数据转换装置,其特征在于,所述装置还包括获取模块和判断模块,
所述获取模块,用于获取数据;
所述判断模块,用于判断获取的数据是否为Json数据。
8.如权利要求7所述的数据转换装置,其特征在于,所述判断模块用于判断所述获取的数据首尾字符是否是预定字符,如果所述获取的数据首尾字符均为预定字符,则所述获取的数据是Json数据。
9.如权利要求6所述的数据转换装置,其特征在于,所述装置还包括重写模块,
所述重写模块,用于将定义私有属性后的所有所述键中至少一个进行重写,所有所述键及对所有所述键中至少一个进行重写的源代码为JavaBean数据。
10.如权利要求6所述的数据转换装置,其特征在于,所述装置还包括获取模块和去除模块,
所述获取模块,用于获取数据;
所述去除模块,用于去除获取的数据中的空格。
11.一种服务终端,其特征在于,所述服务终端包括:
存储器;
处理器;以及
数据转换装置,所述数据转换装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,所述数据转换装置包括:
集合模块,用于将Json数据对应的键和值形成多个键值对集合;
提取模块,用于提取所述多个键值对集合中的所有键;
定义模块,用于定义每一个所述键的私有属性;
输出模块,用于输出定义私有属性后的所有所述键,所有所述键及输出所有所述键的源代码共同构成JavaBean数据。
CN201710126981.8A 2017-03-06 2017-03-06 数据转换方法、装置及服务终端 Pending CN108694041A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710126981.8A CN108694041A (zh) 2017-03-06 2017-03-06 数据转换方法、装置及服务终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710126981.8A CN108694041A (zh) 2017-03-06 2017-03-06 数据转换方法、装置及服务终端

Publications (1)

Publication Number Publication Date
CN108694041A true CN108694041A (zh) 2018-10-23

Family

ID=63842004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710126981.8A Pending CN108694041A (zh) 2017-03-06 2017-03-06 数据转换方法、装置及服务终端

Country Status (1)

Country Link
CN (1) CN108694041A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020194035A1 (en) * 2019-03-28 2020-10-01 Lee Hon Kong Kenneth Smart property archive for safeguarding software configuration
CN112492353A (zh) * 2019-09-12 2021-03-12 武汉斗鱼鱼乐网络科技有限公司 直播间中数据的加工方法、装置、设备及存储介质
US11641280B1 (en) 2022-06-21 2023-05-02 Northern Trust Corporation Computing technologies for enabling blockchain-based digital tokens with asset-specific attributes

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103605733A (zh) * 2013-11-20 2014-02-26 山东浪潮齐鲁软件产业股份有限公司 基于json数组的页面布局存储方法
CN105117379A (zh) * 2015-09-11 2015-12-02 广州华多网络科技有限公司 自动转换程序文本的方法及装置
CN105159928A (zh) * 2015-08-05 2015-12-16 深圳联友科技有限公司 一种json数据转换成模型数据的方法及系统
US9367570B1 (en) * 2012-04-09 2016-06-14 Google Inc. Ad hoc queryable JSON with audit trails

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9367570B1 (en) * 2012-04-09 2016-06-14 Google Inc. Ad hoc queryable JSON with audit trails
CN103605733A (zh) * 2013-11-20 2014-02-26 山东浪潮齐鲁软件产业股份有限公司 基于json数组的页面布局存储方法
CN105159928A (zh) * 2015-08-05 2015-12-16 深圳联友科技有限公司 一种json数据转换成模型数据的方法及系统
CN105117379A (zh) * 2015-09-11 2015-12-02 广州华多网络科技有限公司 自动转换程序文本的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GIANTRAY: "text-to-javabean", 《HTTPS://GITHUB.COM/GIANTRAY/TEXT-TO-JAVABEAN》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020194035A1 (en) * 2019-03-28 2020-10-01 Lee Hon Kong Kenneth Smart property archive for safeguarding software configuration
GB2597005A (en) * 2019-03-28 2022-01-12 Kong Kenneth Lee Hon Smart property archive for safeguarding software configuration
GB2597005B (en) * 2019-03-28 2022-11-30 Kong Kenneth Lee Hon Smart property archive for safeguarding software configuration
CN112492353A (zh) * 2019-09-12 2021-03-12 武汉斗鱼鱼乐网络科技有限公司 直播间中数据的加工方法、装置、设备及存储介质
CN112492353B (zh) * 2019-09-12 2023-06-23 杭州山草互娱科技有限公司 直播间中数据的加工方法、装置、设备及存储介质
US11641280B1 (en) 2022-06-21 2023-05-02 Northern Trust Corporation Computing technologies for enabling blockchain-based digital tokens with asset-specific attributes

Similar Documents

Publication Publication Date Title
CN110020422B (zh) 特征词的确定方法、装置和服务器
CN107656968B (zh) 大批量业务数据导出方法及系统
CN110472154B (zh) 一种资源推送方法、装置、电子设备及可读存储介质
CN106484915B (zh) 一种海量数据的清洗方法和系统
US20140207820A1 (en) Method for parallel mining of temporal relations in large event file
CN103679012A (zh) 一种可移植可执行文件的聚类方法和装置
CN108694041A (zh) 数据转换方法、装置及服务终端
CN110502520B (zh) 一种数据入库的方法、系统、设备及计算机可读存储介质
CN109871686A (zh) 基于图标表示和软件行为一致性分析的恶意程序识别方法及装置
CN115186015B (zh) 一种网络安全知识图谱构建方法及系统
CN114707474A (zh) 报表生成方法、装置、电子设备及计算机可读存储介质
CN109684457A (zh) 一种个股公告数据提取的方法及系统
CN106776779B (zh) 基于Mac平台的JSON数据生成实体文件的方法
CN108073705B (zh) 一种分布式海量数据聚合采集方法
CN109828759A (zh) 代码编译方法、装置、计算机装置及存储介质
CN112596851A (zh) 仿真平台的多源异构数据批量抽取方法和分析方法
CN107038022B (zh) 一种反序列化方法及装置
CN111857723A (zh) 一种参数编译方法、装置和计算机可读存储介质
CN116860583A (zh) 数据库的性能优化方法、装置、存储介质及电子设备
CN108830302B (zh) 一种图像分类方法、训练方法、分类预测方法及相关装置
CN110647845A (zh) 一种发票数据识别装置、相关方法及相关装置
Banerjee et al. On the cost of mining very large open source repositories
CN108255888A (zh) 一种数据处理方法及系统
CN108133012B (zh) 一种标签设置方法及装置
CN110019032A (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

Application publication date: 20181023

RJ01 Rejection of invention patent application after publication