CN111507075B - 一种进行数据格式转换的方法及装置 - Google Patents
一种进行数据格式转换的方法及装置 Download PDFInfo
- Publication number
- CN111507075B CN111507075B CN201910098437.6A CN201910098437A CN111507075B CN 111507075 B CN111507075 B CN 111507075B CN 201910098437 A CN201910098437 A CN 201910098437A CN 111507075 B CN111507075 B CN 111507075B
- Authority
- CN
- China
- Prior art keywords
- column
- dictionary
- data
- bound
- dimensional table
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种进行数据格式转换的方法及装置,此方法包括:构建至少一个字典,所述字典包括映射对和/或配置项,所述映射对包括显示名称和代码名称;所述配置项包括当前表格或者其它表格中一行的信息对应的JSON数据中与此行对应的元素的信息;构建二维表格;设置所述二维表格中每列的列头的映射对,设置所述二维表格的至少一列与至少一字典绑定,与字典绑定的列中的单元格的内容包括至少一所述显示名称;根据所述二维表格构建JSON数据。本发明典型适用于非技术人员构建JSON数据。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种进行数据格式转换的方法及装置。
背景技术
JS对象简谱(JavaScript Object Notation,简称JSON)是一种轻量级的数据交换格式,基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成。
现有的JSON数据生成,都是基于编程语言内建的数字、字符串、数组和对象等数据类型。因此需要学习具体的编程语言才能构造出想要的对象,进而序列化成JSON数据。这种方式的学习成本很高,对于非技术人员来说需要一定的编程知识才能实现,所以如何使不具有高级编程知识的人员容易的实现数据格式转换是需要解决的技术问题。
发明内容
为了解决上述技术问题,本发明提供了一种进行数据格式转换的方法及装置。
本发明中进行数据格式转换的方法包括:
构建至少一个字典,所述字典包括映射对和/或配置项,所述映射对包括显示名称和代码名称;所述配置项包括当前表格或者其它表格中一行的信息对应的JSON数据中与此行对应的元素的信息;
构建二维表格;设置所述二维表格中每列的列头的映射对,设置所述二维表格的至少一列与至少一字典绑定,与字典绑定的列中的单元格的内容包括至少一所述显示名称;
根据所述二维表格构建JSON数据,其中,根据所述二维表格构建JSON 数据包括:将所述二维表格中包含的所述显示名称根据所述映射对转换为所述代码名称设置于所述JSON数据中。
上述进行数据格式转换的方法还具有以下特点:
根据所述二维表格构建JSON数据包括:将所述二维表格的每个行的信息分别转换为所述JSON数据中的一个元素;
其中,将所述二维表格的一行的信息转换为所述JSON数据中的一个元素包括:
将所述行的行头的具体值作为所述JSON数据中与此行对应的元素的关键字段的值;
将所述行中除行头外的每列的信息转换为所述JSON数据中与此行对应的元素中的一个普通字段,将每列的列头的信息在此列头的映射对中对应的代码名称作为普通字段的代码名称,根据每列的单元格的内容构建所述普通字段的具体值,对于与字典绑定的列,将此列的单元格的内容中的显示名称根据此列所绑定的字典中的映射对转换为代码名称作为所述普通字段的具体值,对于未与字典绑定的列,将此列的单元格的内容作为所述普通字段的具体值。
上述进行数据格式转换的方法还具有以下特点:
所述构建二维表格包括:
确定二维表格的每列的操作类型;所述二维表格的一列的操作类型为单选时,设置与所述列绑定的字典;所述列的操作类型为单填或多填时,确定所述列的数据类型;所述列的操作类型为映射并且数据类型是非对象类型时,设置与所述列绑定的字典;所述列的操作类型为映射并且数据类型是对象类型时,设置与所述列绑定的包括配置项的字典;
针对所述二维表格的每行,根据每列的操作类型设置所述行和所述列对应的单元格的内容。
上述进行数据格式转换的方法还具有以下特点:
根据每列的操作类型设置所述行和所述列对应的单元格的内容包括:
列的操作类型是单选时,从与所述列绑定的字典中选择一个映射对,将所述映射对中的显示名称作为此单元格的内容;
列的操作类型是多选时,从与所述列绑定的字典中选择一个以上的映射对,将所述映射对中的显示名称作为此单元格的内容;
列的操作类型是映射并且数据类型是非对象类型时,从与所述列绑定的字典中选择一个以上的映射对,将所述映射对中的显示名称作为键,将接收的用户输入的每项的具体值作为相应键的键值;
列的操作类型是单填时,接收用户填入的一项信息;
列的操作类型是多填时,接收用户填入的一项以上信息。
上述进行数据格式转换的方法还具有以下特点:
所述构建二维表格之后以及根据所述二维表格构建JSON数据之前还包括:在所述二维表格内增加新的一列,所述列的操作类型是映射并且数据类型是对象类型,设置与所述列绑定的包括配置项的字典;
所述根据每列的操作类型设置所述行和所述列对应的单元格的内容包括:在此单元格中设置所述配置项的标识;
所述根据所述二维表格构建JSON数据包括:将所述二维表格中包含的所述配置项在所述包括配置项的字典中对应的元素设置于所述JSON数据中。
本发明中的进行数据格式转换的装置包括:
字典构建模块,用于构建至少一个字典,所述字典包括映射对和/或配置项,所述映射对包括显示名称和代码名称;所述配置项包括当前表格或者其它表格中一行的信息对应的JSON数据中与此行对应的元素的信息;
表格构建模块,用于构建二维表格;设置所述二维表格中每列的列头的映射对,设置所述二维表格的至少一列与至少一字典绑定,与字典绑定的列中的单元格的内容包括至少一所述显示名称;
数据构建模块,用于根据所述二维表格构建JSON数据,其中,根据所述二维表格构建JSON数据包括:将所述二维表格中包含的所述显示名称根据所述映射对转换为所述代码名称设置于所述JSON数据中。
上述进行数据格式转换的装置还具有以下特点:
所述数据构建模块包括元素构建单元,用于将所述二维表格的每个行的信息分别转换为所述JSON数据中的一个元素;具体的,使用以下方法将所述二维表格的一行的信息转换为所述JSON数据中的一个元素:
将所述行的行头的具体值作为所述JSON数据中与此行对应的元素的关键字段的值;
将所述行中除行头外的每列的信息转换为所述JSON数据中与此行对应的元素中的一个普通字段,将每列的列头的信息在此列头的映射对中对应的代码名称作为普通字段的代码名称,根据每列的单元格的内容构建所述普通字段的具体值,对于与字典绑定的列,将此列的单元格的内容中的显示名称根据此列所绑定的字典中的映射对转换为代码名称作为所述普通字段的具体值,对于未与字典绑定的列,将此列的单元格的内容作为所述普通字段的具体值。
上述进行数据格式转换的装置还具有以下特点:
所述表格构建模块包括类型设置单元和内容设置模块;
所述类型设置单元,用于确定二维表格的每列的操作类型;所述二维表格的一列的操作类型为单选时,设置与所述列绑定的字典;所述列的操作类型为单填或多填时,确定所述列的数据类型;所述列的操作类型为映射并且数据类型是非对象类型时,设置与所述列绑定的字典;所述列的操作类型为映射并且数据类型是对象类型时,设置与所述列绑定的包括配置项的字典;
所述内容设置模块,用于针对所述二维表格的每行,根据每列的操作类型设置所述行和所述列对应的单元格的内容。
上述进行数据格式转换的装置还具有以下特点:
所述内容设置模块,还用于使用以下方法根据每列的操作类型设置所述行和所述列对应的单元格的内容:
列的操作类型是单选时,从与所述列绑定的字典中选择一个映射对,将所述映射对中的显示名称作为此单元格的内容;
列的操作类型是多选时,从与所述列绑定的字典中选择一个以上的映射对,将所述映射对中的显示名称作为此单元格的内容;
列的操作类型是映射并且数据类型是非对象类型时,从与所述列绑定的字典中选择一个以上的映射对,将所述映射对中的显示名称作为键,将接收的用户输入的每项的具体值作为相应键的键值;
列的操作类型是单填时,接收用户填入的一项信息;
列的操作类型是多填时,接收用户填入的一项以上信息。
上述进行数据格式转换的装置还具有以下特点:
表格修正模块,用于在所述二维表格内增加新的一列,所述列的操作类型是映射并且数据类型是对象类型,设置与所述列绑定的包括配置项的字典;所述包括配置项的字典包括配置项的标识,此配置项包括当前表格或者其它表格中一行的信息对应的JSON数据中与此行对应的元素的信息;
所述内容设置模块,还用于在此单元格中设置所述配置项的标识;
所述数据构建模块,还用于将所述二维表格中包含的所述配置项在所述包括配置项的字典中对应的元素设置于所述JSON数据中。
本发明的优点包括:
一,使用表格展示数据,效果更直观,更方便理解,尤其适用于非技术人员构建JSON数据。
二,使用字典的映射联通了表格的展示和JSON的解析,既不会给展示上形成困扰,也不会影响JSON生成。
三,表格设置不会丧失任何JSON的可表达性,不会出现JSON能写出来,但配置不出相应的表格的情况。表格和JSON在表达能力上是相同的。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是实施例中进行数据格式转换的方法的流程图;
图2是具体实施例一中的JSON数据的示意图;
图3是具体实施例二中的JSON数据的示意图;
图4是实施例中进行数据格式转换的装置的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
本案申请人发现表格二维数据很容易理解,如果能够将表格数据序列化成JSON数据,具体来说是把表格形式的数据序列化成JSON数据,将可以实现一般用户和计算机系统的数据交互通道,将大大减少JSON的使用门槛,提高用户与计算机系统之间的数据交互效率。
如图1所示,进行数据格式转换的方法包括:
步骤101,构建至少一个字典,此字典包括映射对和/或配置项,映射对包括显示名称和代码名称;配置项包括当前表格或者其它表格中一行的信息对应的JSON数据中与此行对应的元素的信息;
步骤102,构建二维表格;设置二维表格中每列的列头的映射对,设置二维表格的至少一列与至少一字典绑定,与字典绑定的列中的单元格的内容包括至少一显示名称。
步骤103,根据二维表格构建JSON数据,其中,根据二维表格构建JSON 数据包括:将二维表格中包含的显示名称根据映射对转换为代码名称设置于 JSON数据中。
其中,
具体的,将二维表格的一行的信息转换为JSON数据中的一个元素包括:将行的行头的具体值作为JSON数据中与此行对应的元素的关键字段的值;将行中除行头外的每列的信息转换为JSON数据中与此行对应的元素中的一个普通字段,将每列的列头的信息在此列头的映射对中对应的代码名称作为普通字段的代码名称,根据每列的单元格的内容构建普通字段的具体值,对于与字典绑定的列,将此列的单元格的内容中的显示名称根据此列所绑定的字典中的映射对转换为代码名称作为所述普通字段的具体值,对于未与字典绑定的列,将此列的单元格的内容作为所述普通字段的具体值。
步骤102中,构建二维表格包括:
子步骤1,确定二维表格的每列的操作类型;二维表格的一列的操作类型为单选时,设置与此列绑定的字典;此列的操作类型为单填或多填时,确定此列的数据类型;此列的操作类型为映射并且数据类型是非对象类型时,设置与此列绑定的字典;此列的操作类型为映射并且数据类型是对象类型时,设置与此列绑定的包括配置项的字典;
子步骤2,针对二维表格的每行,根据每列的操作类型设置此行和此列对应的单元格的内容。
数据类型有6种:整数(int)、实数(float)、字符串(string)、布尔变量(bool)、空(null)、对象(object)。
本方法中的字典是一个由映射对组成的数组,每个映射对必须包含2个属性,分别是普通名称(name)用于在表格上展示,代码名称(code_name) 用于作为JSON数据里面的字段值field。字典可以由用户手动输入配置,也能读取其它API自动生成。
具体实施例一
构建两个字典。
第一个字典的内容为:
{{code_name:“user1”,name:“用户1”},
{code_name:“user 2”,name:“用户2”},
{code_name:“user 3”,name:“用户3”},
{code_name:“user 4”,name:“用户4”}}
第二个字典的内容为:
{{code_name:“test1”,name:“测试1”},
{code_name:“test2”,name:“测试2”},
{code_name:“test3”,name:“测试3”},
{code_name:“test4”,name:“测试4”}}
二维表格共包括六列。
第一列的列头的映射对为:
{code_name:“ID”,name:“ID”}
第二列的列头的映射对为:
{code_name:“user”,name:“用户”}
第三列的列头的映射对为:
{code_name:“class”,name:“班级”}
第四列的列头的映射对为:
{code_name:“person”,name:“同学”}
第五列的列头的映射对为:
{code_name:“committee”,name:“组委会”}
第六列的列头的映射对为:
{code_name:“remark”,name:“备注”}
共包括六列,第一列是行标识列,列头的名称是列标识,第二列的列头名称为用户、第三列的列头名称为班级、第四列的列头名称为同学、第五列的列头的名称为组委会、第六列的列头的名称为备注。
设置第一列的操作类型为单填,数据类型为整数。
设置第二列的操作类型为单选,和第一字典绑定。
设置第三列的操作类型为多填,数据类型为字符串。
设置第四列的操作类型为多选,和第二字典绑定。
设置第五列的操作类型为映射,和第二字典绑定,数据类型为字符串。
设置第六列的操作类型为单填,数据类型为字符串。
根据每列的操作类型设置行和列对应的单元格的内容包括:
列的操作类型是单选时,从此列的操作类型绑定的字典中选择一映射对,将此映射对中的显示名称作为此单元格的内容;
列的操作类型是多选时,从此列的操作类型绑定的字典中选择一个以上映射对,将这些映射对中的显示名称作为此单元格的内容;
列的操作类型是映射并且数据类型是非对象类型时,从与此列绑定的字典中选择一个以上的映射对,将这些映射对中的显示名称作为键,将接收的用户输入的每项的具体值作为相应键的键值;
列的操作类型是单填时,接收用户填入的一项信息;
列的操作类型是多选时,接收用户填入的一项以上信息。
根据上述内容构建出二维表格。如下表所示:
将二维表格转换为JSON格式数据时,解析程序根据列的操作类型和数据类型,就能获知对应的是JSON里面的什么类型。具体的,针对上述表格的第二行的操作如下:
第1块:第二行的第一列是行头,这一行的行头的单元格的内容是1。将此内容作为JSON数据里面的关键字段的值。
第2块:第二行的第二列,这个列的列头的名称是“用户”,查找此列的列头的映射对,将此映射对里与此名称对应的代码名称(即user)作为 JSON数据中普通字段的名称,第二行的第二列的单元格的内容为“用户1”,在与此列绑定的第一字典中查找包含与此单元格的内容对应的映射对,将此映射对中与此内容对应的代码名称作为此普通字段的具体值。
第3块,第二行的第三列,这个列的列头的名称是“班级”,操作类型是多填,数据类型为字符串,查找此列的列头的映射对,将此映射对里与此名称对应的代码名称(即class)作为JSON数据中普通字段的名称,第二行的第三列的单元格的内容为“一班、二班”,将此单元格的内容解析成JSON 中的数组类型,再作为此普通字段的具体值。
第4块,第二行的第四列,这个列的列头的名称是“同学”,操作类型是多选,查找此列的列头的映射对,将此映射对里与此名称对应的代码名称 (即person)作为JSON数据中普通字段的名称,第二行的第四列的单元格的内容为“测试1、测试2、测试4”,在与此列绑定的第二字典中查找包含与此单元格的所有内容对应的映射对,将此映射对中与此内容对应的代码名称作为此普通字段的具体值。
第5块:第二行的第五列,这个列的列头的名称是“组委会”,操作类型是映射,数据类型为字符串,查找此列的列头的映射对,将此映射对里与此名称对应的代码名称(即committee)作为JSON数据中普通字段的名称,第二行的第五列的单元格的内容为{“测试1”;“2”,“测试4”;“1”},在与此列绑定的第二字典中查找包含与此单元格的内容对应的映射对,将此单元格的内容作为此普通字段的具体值。
第6块,第二行的第六列,这个列的列头的名称是“备注”,操作类型是单填,数据类型为字符串,查找此列的列头的映射对,将此映射对里与此名称对应的代码名称(即remark)作为JSON数据中普通字段的名称,第二行的第五列的单元格的内容为“备注1”,将此单元格的内容作为此普通字段的具体值。
最终构建出的JSON格式的数据如图2所示。
具体实施例二
具体实施例二构建二维表格的步骤与具体实施例一中相同,构建出与具体实施例一的二维表格后,在此二维表格中增加第七列。
设置包括配置项的字典,包括配置项的标识,例如conf,此配置项包括当前表格或者其它表格中一行的信息对应的JSON数据中与此行对应的元素的信息。
此第七列的操作类型是映射并且数据类型是对象类型,设置第七列与包括配置项的字典绑定。
在构建JSON数据时,针对第一列到第七列的处理方式与具体实施例一中的方式相同,针对第七列,将配置项在包括配置项的字典中对应的元素设置于JSON数据中。
最终构建出的JSON格式的数据如图3所示。
如图4所示,进行数据格式转换的装置包括:
字典构建模块,用于构建至少一个字典,此字典包括映射对和/或配置项,映射对包括显示名称和代码名称;配置项包括当前表格或者其它表格中一行的信息对应的JSON数据中与此行对应的元素的信息;
表格构建模块,用于构建二维表格;设置所述二维表格中每列的列头的映射对,设置所述二维表格的至少一列与至少一字典绑定,与字典绑定的列中的单元格的内容包括至少一所述显示名称;
数据构建模块,用于根据所述二维表格构建JSON数据,其中,根据所述二维表格构建JSON数据包括:将所述二维表格中包含的所述显示名称根据所述映射对转换为所述代码名称设置于所述JSON数据中。
其中,
数据构建模块包括元素构建单元,用于将所述二维表格的每个行的信息分别转换为所述JSON数据中的一个元素;具体的,使用以下方法将所述二维表格的一行的信息转换为所述JSON数据中的一个元素:将所述行的行头的具体值作为所述JSON数据中与此行对应的元素的关键字段的值;将所述行中除行头外的每列的信息转换为所述JSON数据中与此行对应的元素中的一个普通字段,将每列的列头的信息在此列头的映射对中对应的代码名称作为普通字段的代码名称,根据每列的单元格的内容构建所述普通字段的具体值,对于与字典绑定的列,将此列的单元格的内容中的显示名称根据此列所绑定的字典中的映射对转换为代码名称作为所述普通字段的具体值,对于未与字典绑定的列,将此列的单元格的内容作为所述普通字段的具体值。
表格构建模块包括类型设置单元和内容设置模块;
类型设置单元用于确定二维表格的每列的操作类型;所述二维表格的一列的操作类型为单选时,设置与所述列绑定的字典;所述列的操作类型为单填或多填时,确定所述列的数据类型;所述列的操作类型为映射并且数据类型是非对象类型时,设置与所述列绑定的字典;所述列的操作类型为映射并且数据类型是对象类型时,设置与所述列绑定的包括配置项的字典;
内容设置模块用于针对所述二维表格的每行,根据每列的操作类型设置所述行和所述列对应的单元格的内容。
内容设置模块还用于使用以下方法根据每列的操作类型设置所述行和所述列对应的单元格的内容:
列的操作类型是单选时,从与所述列绑定的字典中选择一个映射对,将所述映射对中的显示名称作为此单元格的内容;
列的操作类型是多选时,从与所述列绑定的字典中选择一个以上的映射对,将所述映射对中的显示名称作为此单元格的内容;
列的操作类型是映射并且数据类型是非对象类型时,从与所述列绑定的字典中选择一个以上的映射对,将所述映射对中的显示名称作为键,将接收的用户输入的每项的具体值作为相应键的键值;
列的操作类型是单填时,接收用户填入的一项信息;
列的操作类型是多填时,接收用户填入的一项以上信息。
本装置还包括表格修正模块,用于在所述二维表格内增加新的一列,所述列的操作类型是映射并且数据类型是对象类型,设置与所述列绑定的包括配置项的字典;所述包括配置项的字典包括配置项的标识,此配置项包括当前表格或者其它表格中一行的信息对应的JSON数据中与此行对应的元素的信息;
内容设置模块,还用于在此单元格中设置所述配置项的标识;
数据构建模块,还用于将所述二维表格中包含的所述配置项在所述包括配置项的字典中对应的元素设置于所述JSON数据中。
本发明中用字典来联通表格的展示和JSON数据的解析,兼顾用户友好和程序解析。字典中的映射对里面的name用来在表格中进行展示,对应的 code_name用来表示JSON数据。本发明中的字典是复用的,它可以和行头绑定、和列头绑定,甚至和单元格(操作类型是单选、多选、映射)绑定。本发明中对表格的列设置操作类型和数据类型,通过操作类型和数据类型的组合,使任意JSON总能和一个表格等价。换言之,这种表格形式和JSON形式是等价的,它们只是数据的表现形式不同而已。
本发明的优点包括:
一,使用表格展示数据,效果更直观,更方便理解,尤其适用于非技术人员构建JSON数据。
二,使用字典的映射联通了表格的展示和JSON的解析,既不会给展示上形成困扰,也不会影响JSON生成。
三,表格设置不会丧失任何JSON的可表达性,不会出现JSON能写出来,但配置不出相应的表格的情况。表格和JSON在表达能力上是相同的。
上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现,相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
Claims (8)
1.一种进行数据格式转换的方法,其特征在于,包括:
构建至少一个字典,所述字典包括映射对和/或配置项,所述映射对包括显示名称和代码名称,所述显示名称用来在表格中展示,所述代码名称用来表示JSON数据;所述配置项包括当前表格或者其它表格中一行的信息对应的JSON数据中与此行对应的元素的信息;所述字典可以复用,可以和行头、列头、单元格绑定;
构建二维表格;设置所述二维表格中每列的列头的映射对,设置所述二维表格的至少一列与至少一字典绑定,与字典绑定的列中的单元格的内容包括至少一所述显示名称;
根据所述二维表格构建JSON数据,其中,根据所述二维表格构建JSON数据包括:将所述二维表格中包含的所述显示名称根据所述映射对转换为所述代码名称设置于所述JSON数据中;
根据所述二维表格构建JSON数据包括:将所述二维表格的每个行的信息分别转换为所述JSON数据中的一个元素;
其中,将所述二维表格的一行的信息转换为所述JSON数据中的一个元素包括:
将所述行的行头的具体值作为所述JSON数据中与此行对应的元素的关键字段的值;
将所述行中除行头外的每列的信息转换为所述JSON数据中与此行对应的元素中的一个普通字段,将每列的列头的信息在此列头的映射对中对应的代码名称作为普通字段的代码名称,根据每列的单元格的内容构建所述普通字段的具体值,对于与字典绑定的列,将此列的单元格的内容中的显示名称根据此列所绑定的字典中的映射对转换为代码名称作为所述普通字段的具体值,对于未与字典绑定的列,将此列的单元格的内容作为所述普通字段的具体值。
2.如权利要求1所述的进行数据格式转换的方法,其特征在于,
所述构建二维表格包括:
确定二维表格的每列的操作类型;所述二维表格的一列的操作类型为单选时,设置与所述列绑定的字典;所述列的操作类型为单填或多填时,确定所述列的数据类型;所述列的操作类型为映射并且数据类型是非对象类型时,设置与所述列绑定的字典;所述列的操作类型为映射并且数据类型是对象类型时,设置与所述列绑定的包括配置项的字典;
针对所述二维表格的每行,根据每列的操作类型设置所述行和所述列对应的单元格的内容。
3.如权利要求2所述的进行数据格式转换的方法,其特征在于,
根据每列的操作类型设置所述行和所述列对应的单元格的内容包括:
列的操作类型是单选时,从与所述列绑定的字典中选择一个映射对,将所述映射对中的显示名称作为此单元格的内容;
列的操作类型是多选时,从与所述列绑定的字典中选择一个以上的映射对,将所述映射对中的显示名称作为此单元格的内容;
列的操作类型是映射并且数据类型是非对象类型时,从与所述列绑定的字典中选择一个以上的映射对,将所述映射对中的显示名称作为键,将接收的用户输入的每项的具体值作为相应键的键值;
列的操作类型是单填时,接收用户填入的一项信息;
列的操作类型是多填时,接收用户填入的一项以上信息。
4.如权利要求2所述的进行数据格式转换的方法,其特征在于,
所述构建二维表格之后以及根据所述二维表格构建JSON数据之前还包括:在所述二维表格内增加新的一列,所述列的操作类型是映射并且数据类型是对象类型,设置与所述列绑定的包括配置项的字典;
所述根据每列的操作类型设置所述行和所述列对应的单元格的内容包括:在此单元格中设置所述配置项的标识;
所述根据所述二维表格构建JSON数据包括:将所述二维表格中包含的所述配置项在所述包括配置项的字典中对应的元素设置于所述JSON数据中。
5.一种进行数据格式转换的装置,其特征在于,包括:
字典构建模块,用于构建至少一个字典,所述字典包括映射对和/或配置项,所述映射对包括显示名称和代码名称,所述显示名称用来在表格中展示,所述代码名称用来表示JSON数据;所述配置项包括当前表格或者其它表格中一行的信息对应的JSON数据中与此行对应的元素的信息;所述字典可以复用,可以和行头、列头、单元格绑定;
表格构建模块,用于构建二维表格;设置所述二维表格中每列的列头的映射对,设置所述二维表格的至少一列与至少一字典绑定,与字典绑定的列中的单元格的内容包括至少一所述显示名称;
数据构建模块,用于根据所述二维表格构建JSON数据,其中,根据所述二维表格构建JSON数据包括:将所述二维表格中包含的所述显示名称根据所述映射对转换为所述代码名称设置于所述JSON数据中;
所述数据构建模块包括元素构建单元,用于将所述二维表格的每个行的信息分别转换为所述JSON数据中的一个元素;具体的,使用以下方法将所述二维表格的一行的信息转换为所述JSON数据中的一个元素:
将所述行的行头的具体值作为所述JSON数据中与此行对应的元素的关键字段的值;
将所述行中除行头外的每列的信息转换为所述JSON数据中与此行对应的元素中的一个普通字段,将每列的列头的信息在此列头的映射对中对应的代码名称作为普通字段的代码名称,根据每列的单元格的内容构建所述普通字段的具体值,对于与字典绑定的列,将此列的单元格的内容中的显示名称根据此列所绑定的字典中的映射对转换为代码名称作为所述普通字段的具体值,对于未与字典绑定的列,将此列的单元格的内容作为所述普通字段的具体值。
6.如权利要求5所述的进行数据格式转换的装置,其特征在于,
所述表格构建模块包括类型设置单元和内容设置模块;
所述类型设置单元,用于确定二维表格的每列的操作类型;所述二维表格的一列的操作类型为单选时,设置与所述列绑定的字典;所述列的操作类型为单填或多填时,确定所述列的数据类型;所述列的操作类型为映射并且数据类型是非对象类型时,设置与所述列绑定的字典;所述列的操作类型为映射并且数据类型是对象类型时,设置与所述列绑定的包括配置项的字典;
所述内容设置模块,用于针对所述二维表格的每行,根据每列的操作类型设置所述行和所述列对应的单元格的内容。
7.如权利要求6所述的进行数据格式转换的装置,其特征在于,
所述内容设置模块,还用于使用以下方法根据每列的操作类型设置所述行和所述列对应的单元格的内容:
列的操作类型是单选时,从与所述列绑定的字典中选择一个映射对,将所述映射对中的显示名称作为此单元格的内容;
列的操作类型是多选时,从与所述列绑定的字典中选择一个以上的映射对,将所述映射对中的显示名称作为此单元格的内容;
列的操作类型是映射并且数据类型是非对象类型时,从与所述列绑定的字典中选择一个以上的映射对,将所述映射对中的显示名称作为键,将接收的用户输入的每项的具体值作为相应键的键值;
列的操作类型是单填时,接收用户填入的一项信息;
列的操作类型是多填时,接收用户填入的一项以上信息。
8.如权利要求6所述的进行数据格式转换的装置,其特征在于,
表格修正模块,用于在所述二维表格内增加新的一列,所述列的操作类型是映射并且数据类型是对象类型,设置与所述列绑定的包括配置项的字典;所述包括配置项的字典包括配置项的标识,此配置项包括当前表格或者其它表格中一行的信息对应的JSON数据中与此行对应的元素的信息;
所述内容设置模块,还用于在此单元格中设置所述配置项的标识;
所述数据构建模块,还用于将所述二维表格中包含的所述配置项在所述包括配置项的字典中对应的元素设置于所述JSON数据中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910098437.6A CN111507075B (zh) | 2019-01-31 | 2019-01-31 | 一种进行数据格式转换的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910098437.6A CN111507075B (zh) | 2019-01-31 | 2019-01-31 | 一种进行数据格式转换的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111507075A CN111507075A (zh) | 2020-08-07 |
CN111507075B true CN111507075B (zh) | 2023-06-16 |
Family
ID=71863845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910098437.6A Active CN111507075B (zh) | 2019-01-31 | 2019-01-31 | 一种进行数据格式转换的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111507075B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765422B (zh) * | 2021-01-18 | 2024-04-05 | 深轻(上海)科技有限公司 | 一种二维数据表格的查表方法 |
CN115221113A (zh) * | 2021-04-20 | 2022-10-21 | 华为技术有限公司 | 数据格式的转换方法、装置、设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874501A (zh) * | 2017-02-24 | 2017-06-20 | 济南浪潮高新科技投资发展有限公司 | 一种SpreadJS表格自动生成并绑定数据库表的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5864856A (en) * | 1995-04-21 | 1999-01-26 | Actuate Software, Inc. | Process and apparatus for simplifying access to information stored in databases |
US7747657B2 (en) * | 2007-06-08 | 2010-06-29 | International Business Machines Corporation | Mapping hierarchical data from a query result into a tabular format with jagged rows |
CN102193940A (zh) * | 2010-03-11 | 2011-09-21 | 龙旗科技(上海)有限公司 | 一种对二维表格进行特征分析和数据提取的方法 |
JP6132698B2 (ja) * | 2013-07-31 | 2017-05-24 | 株式会社日立製作所 | 表形式多次元データ変換方法及び装置 |
CN103605733A (zh) * | 2013-11-20 | 2014-02-26 | 山东浪潮齐鲁软件产业股份有限公司 | 基于json数组的页面布局存储方法 |
CN204331703U (zh) * | 2014-12-18 | 2015-05-13 | 中国移动通信集团上海有限公司 | 一种图形码打印系统 |
US9921945B2 (en) * | 2015-04-06 | 2018-03-20 | Adp, Llc | Automatic verification of JSON data |
CN105138683B (zh) * | 2015-09-15 | 2018-06-15 | 歌尔股份有限公司 | Json数据转二维数组的方法及系统 |
CN108255897B (zh) * | 2017-02-17 | 2020-07-21 | 平安科技(深圳)有限公司 | 可视化图表数据转换处理方法和装置 |
CN107025214B (zh) * | 2017-04-27 | 2019-08-30 | 珠海格力电器股份有限公司 | 数据处理方法和装置 |
CN108170752B (zh) * | 2017-12-21 | 2020-10-16 | 山东合天智汇信息技术有限公司 | 基于模板的元数据管理方法和系统 |
CN108399154B (zh) * | 2017-12-28 | 2021-09-28 | 北京金科汇智科技有限公司 | 工程试验数据采集系统 |
-
2019
- 2019-01-31 CN CN201910098437.6A patent/CN111507075B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106874501A (zh) * | 2017-02-24 | 2017-06-20 | 济南浪潮高新科技投资发展有限公司 | 一种SpreadJS表格自动生成并绑定数据库表的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111507075A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11294968B2 (en) | Combining website characteristics in an automatically generated website | |
US8253709B2 (en) | Electronic device and method for predicting word input | |
CN100416591C (zh) | 字符识别电子设备和字符识别方法 | |
CN105592343A (zh) | 针对问题和回答的显示装置和方法 | |
JP2020187733A (ja) | アプリケーション・プログラミング・インターフェースのドキュメンテーションの注釈付け | |
US20070186152A1 (en) | Analyzing lines to detect tables in documents | |
WO2009007181A1 (en) | A method, system and computer program for intelligent text annotation | |
JP2009140467A (ja) | 編集可能な個人辞書を提供して活用する方法及びシステム | |
CN105843800A (zh) | 一种基于doi的语言信息展示方法及装置 | |
US20150199346A1 (en) | Hierarchical database report generation with automated query generation for placeholders | |
CN111507075B (zh) | 一种进行数据格式转换的方法及装置 | |
CN103970751A (zh) | 多国语言网页转换系统及方法 | |
CN107220274A (zh) | 一种可视化数据接口集市实现方法 | |
CN101770291B (zh) | 输入系统语意分析数据散列存储和分析方法 | |
CN112084342A (zh) | 试题生成方法、装置、计算机设备及存储介质 | |
CN106294480A (zh) | 一种文件格式转换方法、装置及试题导入系统 | |
CN110738050B (zh) | 基于分词和命名实体识别的文本重组方法及装置、介质 | |
CN103853845A (zh) | 复杂表格动态解析方法 | |
US10275462B2 (en) | Automatic translation of string collections | |
JP2006048695A (ja) | スクリプト特性によるテキストデータ処理装置及び方法 | |
US20060248443A1 (en) | System and method for exporting spreadsheet data | |
US20210049158A1 (en) | Natural language interface to databases | |
CN110147358B (zh) | 自动问答知识库的建设方法及建设系统 | |
CN115964989B (zh) | 电子表格的信息显示方法、装置及存储介质 | |
CN104317875A (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 |