CN112784535A - 一种json、xml格式数据智能转换为传统数据表格式的算法 - Google Patents
一种json、xml格式数据智能转换为传统数据表格式的算法 Download PDFInfo
- Publication number
- CN112784535A CN112784535A CN202110096910.4A CN202110096910A CN112784535A CN 112784535 A CN112784535 A CN 112784535A CN 202110096910 A CN202110096910 A CN 202110096910A CN 112784535 A CN112784535 A CN 112784535A
- Authority
- CN
- China
- Prior art keywords
- data
- json
- algorithm
- format
- definition
- 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
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 32
- 238000007405 data analysis Methods 0.000 claims abstract description 8
- 238000013075 data extraction Methods 0.000 claims abstract description 4
- 230000008030 elimination Effects 0.000 claims abstract description 3
- 238000003379 elimination reaction Methods 0.000 claims abstract description 3
- 238000000034 method Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 230000006872 improvement Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
Abstract
本发明公开了一种JSON、XML格式数据智能转换为传统数据表格式的算法,包括步骤S1、数据解析,由同一纬度唯一的节点名称构成的数据树,在对解析JSON格式数据时对数据节点名称进行了父节点名称的继承,得到抽象键值对;步骤S2、数据提取,对JSON格式数据经数据解析后得到的抽象数据树进行表定义,用于对数据树中包含的多个传统的一维或二维表数据进行表数据多对一或多对多的数据歧义消除;步骤S3、扩展,对提取后的表数据进行数据宏替换实用算法的比对。本发明实现通过通用的、全能的JSON或XML格式数据转化为传统数据表格式的算法,从而具备适用范围广泛,实用性强的优点,与此同时,通过使用C#语言实现了现有技术中算法实例。
Description
技术领域
本发明涉及互联网行业数据交互格式技术领域,具体为一种JSON、XML格式数据智能转换为传统数据表格式的算法。
背景技术
1998年2月10日,W3C(WorldWideWebConsortium,万维网联盟)公布XML 1.0标准;JSON(JavaScriptObjectNotation)是DouglasCrockford在2001年开始推广使用的数据格式。在2005年-2006年正式成为主流的数据格式。目前JSON已经成为互联网行业数据交互格式的事实标准。
XML是HTML的增强实现,JSON更加强悍,就如它的名称为:JS对象简谱,它能描述几乎所有的JavaScript对象。
然而它们均不提供向后兼容,没有XML到HTML的逆向转换定义;JSON也只能转换成JS对象。
但现实社会中依然存在大量使用一维、二维数据表数据格式的场景,尤其是某些传统的行业如银行、教育、传统传媒、政府部门等等。由于XML、JSON均是强格式化的标记语言格式,针对特定的数据通过编程或通过Office内置宏脚本实现向传统数据表格式转换并不复杂;但目前并不存在通用的、全能的JSON或XML格式数据转化为传统数据表格式的算法。
比如像某电视台需要将股票行情数据、天气预报数据、疫情防控数据等JSON格式的互联网数据转换为一维表并生成游走字幕,而当前的做法只能是为股票行情数据、天气预报数据、疫情防控数据专门编写转换程序,不能用一种算法解决问题。
发明内容
本发明的目的在于提供一种JSON、XML格式数据智能转换为传统数据表格式的算法,旨在解决现有技术中不存在通用的、全能的JSON或XML格式数据转化为传统数据表格式的算法等问题。
为实现上述目的,本发明提供如下技术方案:一种JSON、XML格式数据智能转换为传统数据表格式的算法,包括以下步骤:步骤S1、数据解析,在对解析JSON格式数据时对数据节点名称进行了父节点名称的继承,得到同一纬度唯一的节点名称构成的数据树或抽象键值对,用于确保数据树的平面化且确保数据树有唯一的数据索引,得到抽象键值对;
步骤S2、数据提取,对JSON格式数据经数据解析后得到的抽象数据树进行表定义,其中,当用户未提供表定义数据时,提取所有数据表并筛选出包含数据量最大的数据表,同时生成数据表定义以及生成可选的其它数据表的定义键名称,用于对数据树中包含的多个传统的一维或二维表数据进行表数据多对一或多对多的数据歧义消除;
步骤S3、扩展,对提取后的表数据进行多列组合排序实用算法、数据组合实用算法以及数据宏替换实用算法的比对,用于判断提取后的表数据与所述同一纬度唯一的节点名称构成的数据树中的数据一致性,最后输出返回结果。
作为对本发明一种JSON、XML格式数据智能转换为传统数据表格式的算法的改进,基于步骤S1,在对解析JSON格式数据时对数据节点名称进行了父节点名称的继承时,需要通过递归函数对JSONObject及JSONArray进行解析,直至递归解析为基本数据,以用于对所述数据树中存在不够规范的JSON数据进行自动生成并插入。
作为对本发明一种JSON、XML格式数据智能转换为传统数据表格式的算法的改进,基于步骤S2,对JSON格式数据经数据解析后得到的抽象数据树进行表定义的具体实施方式为:
对所接收解析为继承父节点名称的数据树,进行数据表定义传入的判断,其中,若进行数据表定义传入的判断时,将数据表生成为DataTable,用于进行处理数据表列定义、拼接以及数据宏的替换;若不进行数据表定义传入的判断时,首先将数据表生成为数据表定义,再将所述数据表定义生成为数据列定义,最后生成为DataTable,用于进行处理数据表列定义、拼接以及数据宏替换;
对所述生成的DataTable,进行组合排序。
作为对本发明一种JSON、XML格式数据智能转换为传统数据表格式的算法的改进,基于步骤S3,表数据与所述同一纬度唯一的节点名称构成的数据树中的数据一致性的判断方式为:所述提取后的表数据与代入的上次解析结果进行比对,若存在比对结果,则生成数据变更信息,输出返回结果。
与现有技术相比,本发明的有益效果如下:
本发明实现通过通用的、全能的JSON或XML格式数据转化为传统数据表格式的算法,从而具备适用范围广泛,实用性强的优点,与此同时,通过使用C#语言实现了现有技术中算法实例。
附图说明
图1为本发明一种实施例中整体算法流程示意图;
图2为本发明一种实施例中系统自动根据数据源自动生成用户数据状况的应用场景示意图一;
图3为本发明一种实施例中用户施加列定义后的用户数据的应用场景示意图二;
图4为本发明一种实施例中用户数据排序后的应用场景示意图三。
具体实施方式
下面结合附图和实施例对本发明的技术方案做进一步的详细说明。
如图1-4所示,作为本发明的一实施例,一种JSON、XML格式数据智能转换为传统数据表格式的算法,包括以下步骤:步骤S1、数据解析,区别于传统一维或二维数据表标记数据位置的由行序号及列序号构成,在对解析JSON格式数据或XML格式数据时对数据节点名称进行了父节点名称的继承,解析得到同一纬度唯一的节点名称构成的数据树,用于确保数据树的平面化且确保数据树有唯一的数据索引,由于标准意义上的JSON格式数据解析的结果应该是JAVAObject,而本发明需要得到的是传统数据,因此数据解析完成后,得到抽象键值对;
步骤S2、数据提取,对JSON格式数据经数据解析后得到的抽象数据树进行表定义,其中,当用户未提供表定义数据时,提取所有数据表并筛选出包含数据量最大的数据表,同时生成数据表定义以及生成可选的其它数据表的定义键名称,其它数据表的定义键名称供用户自动以数据使用,用于对数据树中包含的多个传统的一维或二维表数据进行表数据多对一或多对多的数据歧义消除;
步骤S3、扩展,对提取后的表数据进行多列组合排序实用算法、数据组合实用算法以及数据宏替换实用算法的比对,用于判断提取后的表数据与同一纬度唯一的节点名称构成的数据树中的数据一致性,最后输出返回结果。
在本发明的一实施例中,基于步骤S1,在对解析JSON格式数据时对数据节点名称进行了父节点名称的继承时,需要通过递归函数对JSONObject及JSONArray进行解析,直至递归解析为基本数据,以用于对数据树中存在不够规范的JSON数据进行自动生成并插入。
在本发明的一实施例中,基于步骤S2,对JSON格式数据经数据解析后得到的抽象数据树进行表定义的具体实施方式为:
对所接收解析为继承父节点名称的数据树,进行数据表定义传入的判断,其中,若进行数据表定义传入的判断时,将数据表生成为DataTable,用于进行处理数据表列定义、拼接以及数据宏的替换;若不进行数据表定义传入的判断时,首先将数据表生成为数据表定义,再将数据表定义生成为数据列定义,最后生成为DataTable,用于进行处理数据表列定义、拼接以及数据宏替换;
对生成的DataTable,进行组合排序。
在本发明的一实施例中,基于步骤S3,表数据与同一纬度唯一的节点名称构成的数据树中的数据一致性的判断方式为:提取后的表数据与代入的上次解析结果进行比对,若存在比对结果,则生成数据变更信息,输出返回结果,本发明实现通过通用的、全能的JSON或XML格式数据转化为传统数据表格式的算法,从而具备适用范围广泛,实用性强的优点,与此同时,通过使用C#语言实现了现有技术中算法实例。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应含在本发明的保护范围之内。
Claims (4)
1.一种JSON、XML格式数据智能转换为传统数据表格式的算法,其特征在于,包括以下步骤:
步骤S1、数据解析,在对解析JSON格式数据时对数据节点名称进行了父节点名称的继承,得到同一纬度唯一的节点名称构成的数据树或抽象键值对,用于确保数据树的平面化且确保数据树有唯一的数据索引;
步骤S2、数据提取,对JSON格式数据经数据解析后得到的抽象数据树进行表定义,其中,当用户未提供表定义数据时,提取所有数据表并筛选出包含数据量最大的数据表,同时生成数据表定义以及生成可选的其它数据表的定义键名称,用于对数据树中包含的多个传统的一维或二维表数据进行表数据多对一或多对多的数据歧义消除;
步骤S3、扩展,对提取后的表数据进行多列组合排序实用算法、数据组合实用算法以及数据宏替换实用算法的比对,用于判断提取后的表数据与所述同一纬度唯一的节点名称构成的数据树中的数据一致性,最后输出返回结果。
2.根据权利要求1所述的一种JSON、XML格式数据智能转换为传统数据表格式的算法,其特征在于,基于步骤S1,在对解析JSON格式数据时对数据节点名称进行了父节点名称的继承时,需要通过递归函数对JSONObject及JSONArray进行解析,直至递归解析为基本数据,以用于对所述数据树中存在不够规范的JSON数据进行自动生成并插入。
3.根据权利要求1所述的一种JSON、XML格式数据智能转换为传统数据表格式的算法,其特征在于,基于步骤S2,对JSON格式数据经数据解析后得到的抽象数据树进行表定义的具体实施方式为:
对所接收解析为继承父节点名称的数据树,进行数据表定义传入的判断,其中,若进行数据表定义传入的判断时,将数据表生成为DataTable,用于进行处理数据表列定义、拼接以及数据宏的替换;若不进行数据表定义传入的判断时,首先将数据表生成为数据表定义,再将所述数据表定义生成为数据列定义,最后生成为DataTable,用于进行处理数据表列定义、拼接以及数据宏替换;
对所述生成的DataTable,进行组合排序。
4.根据权利要求1所述的一种JSON、XML格式数据智能转换为传统数据表格式的算法,其特征在于,基于步骤S3,表数据与所述同一纬度唯一的节点名称构成的数据树中的数据一致性的判断方式为:所述提取后的表数据与代入的上次解析结果进行比对,若存在比对结果,则生成数据变更信息,输出返回结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110096910.4A CN112784535A (zh) | 2021-01-25 | 2021-01-25 | 一种json、xml格式数据智能转换为传统数据表格式的算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110096910.4A CN112784535A (zh) | 2021-01-25 | 2021-01-25 | 一种json、xml格式数据智能转换为传统数据表格式的算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112784535A true CN112784535A (zh) | 2021-05-11 |
Family
ID=75758958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110096910.4A Pending CN112784535A (zh) | 2021-01-25 | 2021-01-25 | 一种json、xml格式数据智能转换为传统数据表格式的算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112784535A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124878A (zh) * | 2022-01-27 | 2022-03-01 | 深圳华锐金融技术股份有限公司 | 行情数据下发方法、装置、系统、设备及介质 |
CN114741393A (zh) * | 2022-04-19 | 2022-07-12 | 四川大学 | 一种材料基因工程数据转换及检索方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070006071A1 (en) * | 2005-07-01 | 2007-01-04 | Bilgehan Erman | Method for transforming a tree structure into a more human-comprehensible document |
CN103020318A (zh) * | 2013-01-10 | 2013-04-03 | 北京锐安科技有限公司 | 一种对数据库中数据库表维护的方法 |
CN106656614A (zh) * | 2016-12-29 | 2017-05-10 | 山东鲁能智能技术有限公司 | 基于配电终端设备xml文件的定制转发表生成方法及系统 |
CN106934011A (zh) * | 2017-03-09 | 2017-07-07 | 济南浪潮高新科技投资发展有限公司 | 一种json数据的结构化解析方法及装置 |
US20180113887A1 (en) * | 2016-10-20 | 2018-04-26 | Microsoft Technology Licensing, Llc | Generating tables based upon data extracted from tree-structured documents |
-
2021
- 2021-01-25 CN CN202110096910.4A patent/CN112784535A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070006071A1 (en) * | 2005-07-01 | 2007-01-04 | Bilgehan Erman | Method for transforming a tree structure into a more human-comprehensible document |
CN103020318A (zh) * | 2013-01-10 | 2013-04-03 | 北京锐安科技有限公司 | 一种对数据库中数据库表维护的方法 |
US20180113887A1 (en) * | 2016-10-20 | 2018-04-26 | Microsoft Technology Licensing, Llc | Generating tables based upon data extracted from tree-structured documents |
CN106656614A (zh) * | 2016-12-29 | 2017-05-10 | 山东鲁能智能技术有限公司 | 基于配电终端设备xml文件的定制转发表生成方法及系统 |
CN106934011A (zh) * | 2017-03-09 | 2017-07-07 | 济南浪潮高新科技投资发展有限公司 | 一种json数据的结构化解析方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124878A (zh) * | 2022-01-27 | 2022-03-01 | 深圳华锐金融技术股份有限公司 | 行情数据下发方法、装置、系统、设备及介质 |
CN114124878B (zh) * | 2022-01-27 | 2022-04-22 | 深圳华锐金融技术股份有限公司 | 行情数据下发方法、装置、系统、设备及介质 |
CN114741393A (zh) * | 2022-04-19 | 2022-07-12 | 四川大学 | 一种材料基因工程数据转换及检索方法 |
CN114741393B (zh) * | 2022-04-19 | 2023-04-28 | 四川大学 | 一种材料基因工程数据转换及检索方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11146286B2 (en) | Compression of JavaScript object notation data using structure information | |
US6336214B1 (en) | System and method for automatically generating browsable language grammars | |
CN105447099A (zh) | 日志结构化信息提取方法及装置 | |
CN111090417B (zh) | 二进制文件解析方法、装置、设备及介质 | |
US20140258840A1 (en) | Xml based custom code generating method and generator, computer program product and computer readable medium | |
CN112784535A (zh) | 一种json、xml格式数据智能转换为传统数据表格式的算法 | |
US8024353B2 (en) | Method and system for sequentially accessing compiled schema | |
US7500184B2 (en) | Determining an acceptance status during document parsing | |
CN104750663B (zh) | 页面中文本乱码的识别方法及装置 | |
CN109656951A (zh) | 基于表达式查询数据的方法及查询系统 | |
CN108664546B (zh) | Xml数据结构转换方法和装置 | |
CN101944133B (zh) | 一种xml元数据对象化解析方法及系统 | |
CN109471957B (zh) | 一种基于统一标签的元数据转换方法及装置 | |
CN109284088B (zh) | 一种信令大数据处理方法及电子设备 | |
JP4776389B2 (ja) | 符号化文書復号方法及びシステム | |
CN114327493A (zh) | 数据处理方法及装置、电子设备、计算机可读介质 | |
CN103888790A (zh) | 一种epg适配系统及方法 | |
CN110308907B (zh) | 数据转换方法、装置、存储介质及电子设备 | |
US8996991B2 (en) | System and method for displaying an acceptance status | |
US9886424B2 (en) | Web application framework for extracting content | |
CN116304231A (zh) | 基于语法解析树的查询语句生成方法和装置、设备、介质 | |
CN102456070A (zh) | 检索装置和检索方法 | |
US20060212799A1 (en) | Method and system for compiling schema | |
CN111831288A (zh) | 一种自动生成Thrift IDL数据结构及自动转换函数的方法及系统 | |
US20140156700A1 (en) | Method and apparatus for querying at least one value of at least one parameter of a module, and method and module for providing at least one value of at least one parameter |
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 |