CN106934011A - 一种json数据的结构化解析方法及装置 - Google Patents

一种json数据的结构化解析方法及装置 Download PDF

Info

Publication number
CN106934011A
CN106934011A CN201710138525.5A CN201710138525A CN106934011A CN 106934011 A CN106934011 A CN 106934011A CN 201710138525 A CN201710138525 A CN 201710138525A CN 106934011 A CN106934011 A CN 106934011A
Authority
CN
China
Prior art keywords
data
structuring
field
json
array
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
CN201710138525.5A
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.)
Jinan Inspur Hi Tech Investment and Development Co Ltd
Original Assignee
Jinan Inspur Hi Tech Investment and Development 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 Jinan Inspur Hi Tech Investment and Development Co Ltd filed Critical Jinan Inspur Hi Tech Investment and Development Co Ltd
Priority to CN201710138525.5A priority Critical patent/CN106934011A/zh
Publication of CN106934011A publication Critical patent/CN106934011A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种JSON数据的结构化解析方法及装置,该方法包括:对至少一条JSON数据的文档对象进行结构化解析,形成结构化文档数据;对所述至少一条JSON数据的数组对象进行结构化解析,形成结构化数组数据;根据外部输入的关键字段,将所述结构化文档数据与所述结构化数组数据关联合并,形成结构化输出数据;创建所述结构化输出数据中字段与外部关系型数据库中字段之间的字段映射关系;根据所述字段映射关系,将所述结构化输出数据导入所述外部关系型数据库。该装置包括:解析单元、合并单元、映射单元及导入单元。本方案能够提高对JSON数据进行结构化解析的效率。

Description

一种JSON数据的结构化解析方法及装置
技术领域
本发明涉及数据处理技术领域,特别涉及一种JSON数据的结构化解析方法及装置。
背景技术
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON数据属于半结构化数据,数据结构比较松散,可以存储比较复杂的数据类型,因此JSON被广泛应用于MongoDB(基于分布式文件存储的数据库)等数据库,以代替关系型数据库来存储高并发读写的数据。在对海量数据进行有针对性的挖掘分析时,有时需要对JSON数据进行结构化解析,将JSON数据转换为结构化数据,以便数据挖掘分析。
目前,在对JSON数据进行结构化解析时,主要通过人工解析的方式,将各条JSON数据整合到数据表中,形成结构化数据。
针对于现有JSON数据的结构化解析方法,通过人工逐条解析的方式对JSON数据进行解析,当JSON数据的数据量较大时,需要耗费大量时间才能够完成JSON数据的结构化解析,造成对JSON数据进行结构化解析的效率较低。
发明内容
本发明实施例提供了一种JSON数据的结构化解析方法及装置,能够提高对JSON数据进行结构化解析的效率。
第一方面,本发明实施例提供了一种JSON数据的结构化解析方法,包括:
对至少一条JSON数据的文档对象进行结构化解析,形成结构化文档数据;
对所述至少一条JSON数据的数组对象进行结构化解析,形成结构化数组数据;
根据外部输入的关键字段,将所述结构化文档数据与所述结构化数组数据关联合并,形成结构化输出数据;
创建所述结构化输出数据中字段与外部关系型数据库中字段之间的字段映射关系;
根据所述字段映射关系,将所述结构化输出数据导入所述外部关系型数据库。
优选地,
在所述根据外部输入的关键字段将所述结构化文档数据与所述结构化数组数据关联合并之前,进一步包括:
通过Java数据库连接JDBC连接器连接存储有所述至少一条JSON数据的非关系型数据库;
通过所述JDBC连接器对所述至少一条JSON数据进行预览;
接收外部根据所预览的所述至少一条JSON数据而输入的所述关键字段。
优选地,
所述根据外部输入的关键字段将所述结构化文档数据与所述结构化数组数据关联合并,包括:
针对于所述结构化文档数据包括的任意一条第一数据,获取所述第一数据中位于所述关键字段下的关键数据;
从所述结构化数组数据中获取一条第二数据,其中所述第二数据中位于所述关键字段下的数据与所述关键数据相同;
将所述第一数据与第二数据进行关联合并。
优选地,
在所述形成结构化文档数据之后,进一步包括:
对所述结构化文档数据进行预览。
优选地
在所述形成结构化数组数据之后,进一步包括:
对所述结构化数组数据进行预览。
优选地,
所述根据所述字段映射关系将所述结构化输出数据导入所述外部关系型数据库,包括:
针对于所述结构化输出数据中的任意一个第一字段,根据所述字段映射关系,确定所述外部关系型数据库中与所述第一字段相映射的第二字段;
将所述结构化输出数据中位于所述第一字段下的数据导入到所述外部关系型数据库中所述第二字段下。
第二方面,本发明实施例还提供了一种JSON数据的结构化解析装置,包括:解析单元、合并单元、映射单元及导入单元;
所述解析单元,用于对至少一条JSON数据的文档对象进行结构化解析,形成结构化文档数据;以及对所述至少一条JSON数据的数组对象进行结构化解析,形成结构化数组数据;
所述合并单元,用于根据外部输入的关键字段,将所述解析单元形成的所述结构化文档数据与所述结构化数组数据关联合并,形成结构化输出数据;
所述映射单元,用于创建所述合并单元所形成的所述结构化输出数据中字段与外部关系型数据中字段之间的字段映射关系;
所述导入单元,用于根据所述映射单元创建的所述字段映射关系,将所述合并单元形成的所述结构化输出数据导入所述外部关系型数据库。
优选地,
该装置进一步包括:预览单元;
所述预览单元,用于通过Java数据库连接JDBC连接器连接存储有所述至少一条JSON数据的非关系型数据库;并通过所述JDBC连接器对所述至少一条JSON数据进行预览;以及接收外部根据所预览的所述至少一条JSON数据而输入的所述关键字段。
优选地,
所述合并单元,用于针对于所述结构化文档数据包括的任意一条第一数据,获取所述第一数据中位于所述关键字段下的关键数据;从所述结构化数组数据中获取一条第二数据,其中所述第二数据中位于所述关键字段下的数据与所述关键数据相同;将所述第一数据与第二数据进行关联合并。
优选地,该装置进一步包括:展示单元;
所述展示单元,用于对所述解析单元形成的所述结构化文档数据进行预览;和/或,所述展示单元用于对所述解析单元形成的所述结构化数组数据进行预览。
优选地,
所述导入单元,用于针对于所述结构化输出数据中的任意一个第一字段,根据所述字段映射关系,确定所述外部关系型数据库中与所述第一字段相映射的第二字段;将所述结构化输出数据中位于所述第一字段下的数据导入到所述外部关系型数据库中所述第二字段下。
本发明实施例提供了一种JSON数据的结构化解析方法及装置,分别对JSON数据的文档对象和数组对象进行结构化解析,根据关键字段将解析获得的结构化文档数据与结构化数组数据进行关联合并后,形成结构化输出数据,进而根据结构化输出数据中字段与外部关系型数据库中字段之间的映射关系,将结构化输出数据导入到外部关系型数据库中。由此可见,通过创建结构化输出数据与外部关系型数据库之间的字段映射关系,自动将解析出的结构化输出数据导入到外部关系型数据库中,完成JSON数据的结构化解析,无需通过手动操作的方式逐条对JSON数据进行解析,从而提高了对JSON数据进行结构化解析的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种JSON数据的结构化解析方法流程图;
图2是本发明另一个实施例提供的一种JSON数据的结构化解析方法流程图;
图3是本发明一个实施例提供的一种JSON数据的结构化解析装置所在设备的示意图;
图4是本发明一个实施例提供的一种JSON数据的结构化解析装置的示意图;
图5是本发明另一个实施例提供的一种JSON数据的结构化解析装置的示意图;
图6是本发明又一个实施例提供的一种JSON数据的结构化解析装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种JSON数据的结构化解析方法,该方法可以包括以下步骤:
步骤101:对至少一条JSON数据的文档对象进行结构化解析,形成结构化文档数据;
步骤102:对所述至少一条JSON数据的数组对象进行结构化解析,形成结构化数组数据;
步骤103:根据外部输入的关键字段,将所述结构化文档数据与所述结构化数组数据关联合并,形成结构化输出数据;
步骤104:创建所述结构化输出数据中字段与外部关系型数据库中字段之间的字段映射关系;
步骤105:根据所述字段映射关系,将所述结构化输出数据导入所述外部关系型数据库。
本发明实施例提供了一种JSON数据的结构化解析方法,分别对JSON数据的文档对象和数组对象进行结构化解析,根据关键字段将解析获得的结构化文档数据与结构化数组数据进行关联合并后,形成结构化输出数据,进而根据结构化输出数据中字段与外部关系型数据库中字段之间的映射关系,将结构化输出数据导入到外部关系型数据库中。由此可见,通过创建结构化输出数据与外部关系型数据库之间的字段映射关系,自动将解析出的结构化输出数据导入到外部关系型数据库中,完成JSON数据的结构化解析,无需通过手动操作的方式逐条对JSON数据进行解析,从而提高了对JSON数据进行结构化解析的效率。
在本发明一个实施例中,在步骤103根据关键字段将结构化文档数据与结构化数组数据进行关联合并之前,通过JDBC(Java Data Base Connectivity,java数据库连接)连接器连接存储有所述JSON数据的非关系型数据库,通过JDBC连接器可以对各条JSON数据进行预览。这样用户就可以根据预览的JSON数据确定用于关联合并结构化文档数据与结构化数组数据的关键字段,从而可以接收用户指定的关键字段。
具体地,一方面,由于不同的JSON数据可能需要不同的关键字段进行关联合并,通过JDBC连接器对JSON数据进行预览,进而可以接收用户根据所预览JSON数据而确定的关键字段,保证能够通过关键字段将解析出的结构化文档数据与结构化数组数据关联合并,从而可以满足对不同JSON数据进行结构化解析的需求,提高了该JSON数据结构化解析方法的适用性。另一方面,利用JDBC连接器连接非关系型数据库后对JSON数据进行展示,无需单独设置其他的预览软件,提高了该SON数据结构化解析方法的易用性。
在本发明一个实施例中,步骤103中对结构化文档数据与结构化数组数据进行关联合并,形成结构化输出数据。具体地,针对于结构化文档数据包括的任意一条第一数据,获取第一数据中位于关键字段下的关键数据,进而从结构化数组数据中获取关键字段下数据也为关键数据的第二数据,将第一数据与第二数据进行关联合并。这样将结构化文档数据包括的各条数据与结构化数组数据中相应的数据均进行关联合并后,形成结构化输出数据。
具体地,
关键字段是结构化文档数据与结构化数组数据均包括的字段,对JSON数据进行预览后,由用户根据需求指定。结构化文档数据包括有多条数据记录,每一条数据记录均对应结构化数组数据中的一条数据记录,相对应的两条数据记录中位于关键字段下的数据相同。从而可以根据关键字段下的数据来确定相对应的两条数据记录,进而将相对应的两条数据记录关联合并,将所有相对应的数据监控关联合并后形成结构化输出数据。
例如,结构化文档数据中每一条数据中包括字段“ID”,同时结构化数组数据中每一条数据中也包括字段“ID”,将字段“ID”作为关键字段后,将结构化文档数据中字段“ID”下数据为X的一条数据与结构化数组数据中字段“ID”下数据为X的一条数据关联合并,将X替换为不同的ID号后,可以将结构化文档数据中包括的各条数据与结构化数组数据中相应的数据进行关联合并,形成结构化输出数据。
通过关键字段将结构化文档数据与结构化数组数据关联合并形成结构化输出数据的方法,由于可以通过脚本代码识别结构化文档数据与结构化数组数据中的关键字段,从而可以通过脚本代码实现JSON数据的结构化解析,以代替手动对JSON数据进行解析的方法,从而可以提高对JSON数据进行结构化解析的效率。
在本发明一个实施例中,步骤101中形成结构化文档数据之后,可以对所形成的结构化文档数据进行预览。相应地,步骤102中形成结构化数组数据之后,也可以对所形成的结构化数组数据进行预览。
具体地,通过对结构化文档数据和/或结构化数组数据进行预览,提供可视化的结构化解析预览窗口,用户通过预览的结构化文档数据和/或结构化数组数据,可以对JSON数据的结构化解析过程进行配置和监控,进一步提高了该JSON数据结构化解析方法的易用性。
需要说明的时,对结构化文档数据和结构化数组数据进行预览的过程,同样可以利用JDBC连接器实现。
在本发明一个实施例中,步骤105中将结构化输出数据导入到外部关系型数据库中时,针对于结构化输出数据中的任意一个第一字段,根据步骤104中确定出的字段映射关系,从外部关系型数据库中确定与第一字段相映射的第二字段,进而将结构化输出数据中第一字段下的数据导入到外部关系型数据库中第二字段下。这样,针对结构化输出数据中的每一个字段执行上述处理后,将结构化输出数据全部导入到外部关系型数据库中。
具体地,由于此前已经创建了结构化输出数据与外部关系型数据库中字段的字段映射关系,根据字段映射关系将结构化输出数据中各个字段下的数据导入到外部关系型数据库中相应的字段下,完成JSON数据的结构化解析。通过创建字段映射关系的方式将结构化输出数据导入到外部关系型数据库中,保证所导入数据的准确性,从而提高了该JSON数据结构化解析方法对JSON数据进行结构化解析的准确性。
另外,在将结构化输出数据中各个字段下的数据导入外部关系型数据库中的过程中,同一字段下各行数据的顺序保持不变,保证了结构化输出数据导入外部关系型数据库后不同字段下数据的对应关系与原JSON数据保持一致,进一步提高了对JSON数据进行结构化解析的准确性。
下面以对MongoDB数据库中的JSON数据进行结构化解析为例,对本发明实施例提供的JSON数据的结构化解析方法作进一步详细说明,如图2所示,该方法可以包括以下步骤:
步骤201:通过JDBC连接器连接非关系型数据库。
在本发明一个实施例中,通过JDBC(Java数据库连接)连接器连接存储有待解析JSON数据的非关系型数据库,具体连接过成为通过JDBC连接器驱动配置非关系型数据库ID、端口号、用户名、密码等参数,以连接到存储有待解析JSON数据的非关系型数据库。
例如,通过驱动配置MongoDB数据库的ID、端口号、用户名及密码,连接MongoDB数据库。
步骤202:通过JDBC连接器对非关系型数据库上的JSON数据进行预览。
在本发明一个实施例中,将JDBC连接器连接到非关系型数据库之后,通过JDBC连接器对非关系型数据库中存储的待解析JSON数据进行预览。
例如,通过JDBC连接器对MongoDB数据库中的JSON数据的文档对象及数组对象进行预览,供用户进行查看。
步骤203:接收外部根据所预览的JSON数据而输入的关键字段。
在本发明一个实施例中,对JSON数据进行预览后,用户根据所预览的JSON数据,输入关键字段,从而接收到用户输入的关键字段。其中,关键字段是JSON数据中文档对象及数组对象均包括的字段,通过该关键字段下的数据,可以确定文档对象所包括的各条数据与数组对象所包括的各条数据之间的对象关系。
例如,MongoDB数据库中JSON数据的文档对象及数组对象均包括有“ID”这个字段,根据外部的触发将“ID”这个字段确定为关键字段。
步骤204:对JSON数据的文档对象进行结构化解析,形成结构化文档数据并预览。
在本发明一个实施例中,分别对每一条JSON数据的文档对象进行结构化解析,将文档对象解析为多行存储的结构化的数据,将对各条JSON数据的文档对象进行结构化解析后形成的数据作为结构化文档数据,并对所形成的结构化文档数据进行预览。
例如,MongoDB数据库中包含有1000条待结构化解析的JSON数据,针对于每一条JSON数据的文档对象进行结构化解析,形成包括ID、formid、type、modified、projectnumber、mdmcode、month、name及projectname共9个字段的结构化数据,将对各条JSON数据的文档对象进行结构化解析后形成的结构化数据进行组合,形成结构化文档数据。并对所形成的结构化文档数据进行预览。
步骤205:对JSON数据的数组对象进行结构化解析,形成结构化数组数据并预览。
在本发明一个实施例中,分别对每一条JSON数据的数组对象进行结构化解析,将数组对象解析为多行存储的结构化数据,将对各条JSON数据的数组对象进行结构化结构后形成的数据作为结构化数组数据,并对所形成的结构化数组数据进行预览。
例如,针对于1000条JSON数据中每一条的数组对象进行结构化解析,形成包括ID、xuhao、neirong_biao、leibie_biao、zhuti_caigou、xingshi_caigou等16个字段的结构化数据,将各条JSON数据的数组对象进行结构化解析后形成的结构化数据进行组合,形成结构化数组数据。并对形成的结构化数组数据进行预览。
步骤206:根据关键字段,将结构化文档数据与结构化数组数据关联合并,形成结构化输出数据。
在本发明一个实施例中,将结构化文档数据及结构化数组数据中关键字段下数据相同的两条数据进行关联合并,从而将结构化文档数据与结构化数组数据中各条数据进行一对一的关联合并,将关联合并后的结构化文档数据及结构化数组数据作为结构化输出数据。
例如,将结构化文档数据及结构化数组数据中ID字段下为同一个值的两条数据进行关联合并,比如结构化文档数据中第一条数据ID字段下的值为001,结构化数组数据中第二数据ID字段下的值为001,则将结构化文档数据中第一条数据与结构化数组数据中第二数据进行关联合并。将结构化文档数据包括的1000条数据与结构化数组数据包括的1000条数据进行分别关联合并后,形成结构化输出数据。
步骤207:创建结构化输出数据与外部关系型数据库中字段的字段映射关系。
在本发明一个实施例中,根据数据分析需求,创建结构化输出数据所包括的各个字段与外部关系型数据库中字段的字段映射关系。
例如,将结构化输出数据中的字段“neirong_biao”与oracle数据库中的字段“标的内容”创建映射关系,将结构化输出数据中的字段“leibie_biao”与oracle数据库中的字段“标的类别”创建映射关系等。
步骤208:根据字段映射关系,将结构化输出数据导入外部关系型数据。
在本发明一个实施例中,根据步骤207中创建的字段映射关系,将结构化输出数据中各字段下的数据导入到外部关系型数据中相应的字段下。
例如,将结构化输出数据中字段“neirong_biao”下的数据导入到oracle数据库中字段“标的内容”下,将结构化输出数据中字段“leibie_biao”下的数据导入到oracle数据库中字段“标的类别”下等。
如图3、图4所示,本发明实施例提供了一种JSON数据的结构化解析装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的JSON数据的结构化解析装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的JSON数据的结构化解析装置,包括:解析单元401、合并单元402、映射单元403及导入单元404;
所述解析单元401,用于对至少一条JSON数据的文档对象进行结构化解析,形成结构化文档数据;以及对所述至少一条JSON数据的数组对象进行结构化解析,形成结构化数组数据;
所述合并单元402,用于根据外部输入的关键字段,将所述解析单元401形成的所述结构化文档数据与所述结构化数组数据关联合并,形成结构化输出数据;
所述映射单元403,用于创建所述合并单元402所形成的所述结构化输出数据中字段与外部关系型数据中字段之间的字段映射关系;
所述导入单元404,用于根据所述映射单元403创建的所述字段映射关系,将所述合并单元402形成的所述结构化输出数据导入所述外部关系型数据库。
在本发明一个实施例中,如图5所示,该JSON数据的结构化解析装置可以进一步包括:预览单元505;
所述预览单元505,用于通过Java数据库连接JDBC连接器连接存储有所述至少一条JSON数据的非关系型数据库;并通过所述JDBC连接器对所述至少一条JSON数据进行预览;以及接收外部根据所预览的所述至少一条JSON数据而输入的所述关键字段。
在本发明一个实施例中,所述合并单元402用于针对于所述结构化文档数据包括的任意一条第一数据,获取所述第一数据中位于所述关键字段下的关键数据;从所述结构化数组数据中获取一条第二数据,其中所述第二数据中位于所述关键字段下的数据与所述关键数据相同;将所述第一数据与第二数据进行关联合并。
在本发明一个实施例中,如图6所示,该JSON数据的结构化解析装置可以进一步包括:展示单元606;
所述展示单元606,用于对所述解析单元401形成的所述结构化文档数据进行预览;
同时,所述展示单元60还可以用于对所述解析单元401形成的所述结构化数组数据进行预览。
在本发明一个实施例中,所述导入单元404用于针对于所述结构化输出数据中的任意一个第一字段,根据所述字段映射关系,确定所述外部关系型数据库中与所述第一字段相映射的第二字段;将所述结构化输出数据中位于所述第一字段下的数据导入到所述外部关系型数据库中所述第二字段下。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明一个实施例还提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述各个实施例提供的JSON数据的结构化解析方法。
本发明一个实施例还提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述各个实施例提供的JSON数据的结构化解析方法。
综上所述,本发明各个实施例提供的JSON数据的结构化解析方法及装置,至少具有如下有益效果:
1、在本发明实施例提供的JSON数据的结构化解析方法及装置中,分别对JSON数据的文档对象和数组对象进行结构化解析,根据关键字段将解析获得的结构化文档数据与结构化数组数据进行关联合并后,形成结构化输出数据,进而根据结构化输出数据中字段与外部关系型数据库中字段之间的映射关系,将结构化输出数据导入到外部关系型数据库中。由此可见,通过创建结构化输出数据与外部关系型数据库之间的字段映射关系,自动将解析出的结构化输出数据导入到外部关系型数据库中,完成JSON数据的结构化解析,无需通过手动操作的方式逐条对JSON数据进行解析,从而提高了对JSON数据进行结构化解析的效率。
2、在本发明实施例提供的JSON数据的结构化解析方法及装置中,通过JDBC连接器对JSON数据进行预览,可以接收用户根据所预览JSON数据而指定的关键字段,从而根据关键字段对结构化文档数据及结构化数组数据进行关联合并,可以满足不同用户及JSON数据的结构化解析需求,提高了该SON数据的结构化解析方法及装置的适用性。
3、在本发明实施例提供的JSON数据的结构化解析方法及装置中,利用JDBC连接器连接非关系型数据库后对JSON数据进行展示,无需单独设置其他的预览软件,提高了该SON数据结构化解析方法的易用性。
4、在本发明实施例提供的JSON数据的结构化解析方法及装置中,通过对结构化文档数据和/或结构化数组数据进行预览,提供可视化的结构化解析预览窗口,用户通过预览的结构化文档数据和/或结构化数组数据,可以对JSON数据的结构化解析过程进行配置和监控,进一步提高了该JSON数据结构化解析方法的易用性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种JSON数据的结构化解析方法,其特征在于,包括:
对至少一条JSON数据的文档对象进行结构化解析,形成结构化文档数据;
对所述至少一条JSON数据的数组对象进行结构化解析,形成结构化数组数据;
根据外部输入的关键字段,将所述结构化文档数据与所述结构化数组数据关联合并,形成结构化输出数据;
创建所述结构化输出数据中字段与外部关系型数据库中字段之间的字段映射关系;
根据所述字段映射关系,将所述结构化输出数据导入所述外部关系型数据库。
2.根据权利要求1所述的方法,其特征在于,
在所述根据外部输入的关键字段将所述结构化文档数据与所述结构化数组数据关联合并之前,进一步包括:
通过Java数据库连接JDBC连接器连接存储有所述至少一条JSON数据的非关系型数据库;
通过所述JDBC连接器对所述至少一条JSON数据进行预览;
接收外部根据所预览的所述至少一条JSON数据而输入的所述关键字段。
3.根据权利要求1所述的方法,其特征在于,
所述根据外部输入的关键字段将所述结构化文档数据与所述结构化数组数据关联合并,包括:
针对于所述结构化文档数据包括的任意一条第一数据,获取所述第一数据中位于所述关键字段下的关键数据;
从所述结构化数组数据中获取一条第二数据,其中所述第二数据中位于所述关键字段下的数据与所述关键数据相同;
将所述第一数据与第二数据进行关联合并。
4.根据权利要求1所述的方法,其特征在于,
在所述形成结构化文档数据之后,进一步包括:
对所述结构化文档数据进行预览;
和/或,
在所述形成结构化数组数据之后,进一步包括:
对所述结构化数组数据进行预览。
5.根据权利要求1至4中任一所述的方法,其特征在于,
所述根据所述字段映射关系将所述结构化输出数据导入所述外部关系型数据库,包括:
针对于所述结构化输出数据中的任意一个第一字段,根据所述字段映射关系,确定所述外部关系型数据库中与所述第一字段相映射的第二字段;
将所述结构化输出数据中位于所述第一字段下的数据导入到所述外部关系型数据库中所述第二字段下。
6.一种JSON数据的结构化解析装置,其特征在于,包括:解析单元、合并单元、映射单元及导入单元;
所述解析单元,用于对至少一条JSON数据的文档对象进行结构化解析,形成结构化文档数据;以及对所述至少一条JSON数据的数组对象进行结构化解析,形成结构化数组数据;
所述合并单元,用于根据外部输入的关键字段,将所述解析单元形成的所述结构化文档数据与所述结构化数组数据关联合并,形成结构化输出数据;
所述映射单元,用于创建所述合并单元所形成的所述结构化输出数据中字段与外部关系型数据中字段之间的字段映射关系;
所述导入单元,用于根据所述映射单元创建的所述字段映射关系,将所述合并单元形成的所述结构化输出数据导入所述外部关系型数据库。
7.根据权利要求6所述的装置,其特征在于,进一步包括:预览单元;
所述预览单元,用于通过Java数据库连接JDBC连接器连接存储有所述至少一条JSON数据的非关系型数据库;并通过所述JDBC连接器对所述至少一条JSON数据进行预览;以及接收外部根据所预览的所述至少一条JSON数据而输入的所述关键字段。
8.根据权利要求6所述的装置,其特征在于,
所述合并单元,用于针对于所述结构化文档数据包括的任意一条第一数据,获取所述第一数据中位于所述关键字段下的关键数据;从所述结构化数组数据中获取一条第二数据,其中所述第二数据中位于所述关键字段下的数据与所述关键数据相同;将所述第一数据与第二数据进行关联合并。
9.根据权利要求6所述的装置,其特征在于,进一步包括:展示单元;
所述展示单元,用于对所述解析单元形成的所述结构化文档数据进行预览;
和/或,
所述展示单元,用于对所述解析单元形成的所述结构化数组数据进行预览。
10.根据权利要求6至9中任一所述的装置,其特征在于,
所述导入单元,用于针对于所述结构化输出数据中的任意一个第一字段,根据所述字段映射关系,确定所述外部关系型数据库中与所述第一字段相映射的第二字段;将所述结构化输出数据中位于所述第一字段下的数据导入到所述外部关系型数据库中所述第二字段下。
CN201710138525.5A 2017-03-09 2017-03-09 一种json数据的结构化解析方法及装置 Pending CN106934011A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710138525.5A CN106934011A (zh) 2017-03-09 2017-03-09 一种json数据的结构化解析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710138525.5A CN106934011A (zh) 2017-03-09 2017-03-09 一种json数据的结构化解析方法及装置

Publications (1)

Publication Number Publication Date
CN106934011A true CN106934011A (zh) 2017-07-07

Family

ID=59433451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710138525.5A Pending CN106934011A (zh) 2017-03-09 2017-03-09 一种json数据的结构化解析方法及装置

Country Status (1)

Country Link
CN (1) CN106934011A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832443A (zh) * 2017-11-20 2018-03-23 郑州云海信息技术有限公司 一种json文档数据的处理方法、装置和介质
CN107944011A (zh) * 2017-12-08 2018-04-20 中国平安财产保险股份有限公司 团体保单数据的处理方法、装置、服务器和存储介质
CN109508409A (zh) * 2018-10-23 2019-03-22 魔秀科技(北京)股份有限公司 一种半结构化json数据自由解析适配方法
CN110909523A (zh) * 2019-12-02 2020-03-24 中国银行股份有限公司 一种数据处理方法及装置
CN112559606A (zh) * 2019-09-26 2021-03-26 北京国双科技有限公司 用于json格式数据的转换方法及转换装置
CN112784535A (zh) * 2021-01-25 2021-05-11 南京思迈恩传媒科技有限公司 一种json、xml格式数据智能转换为传统数据表格式的算法
CN114357054A (zh) * 2022-03-10 2022-04-15 广州宸祺出行科技有限公司 一种基于ClickHouse的非结构化数据的处理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103886046A (zh) * 2014-03-11 2014-06-25 中国信息安全测评中心 一种面向Web数据交换的自动语义抽取的方法
CN104008209A (zh) * 2014-06-20 2014-08-27 南京大学 以GeoJSON格式结构化方式存储地理数据的MongoDB集群的地理数据读写方法
US20140244692A1 (en) * 2013-02-27 2014-08-28 Cellco Partnership D/B/A Verizon Wireless Converting xml to json with configurable output
CN105122243A (zh) * 2013-03-15 2015-12-02 亚马逊科技公司 用于半结构化数据的可扩展分析平台
CN106021523A (zh) * 2016-05-24 2016-10-12 北京交通大学 基于json的数据仓库存储及查询方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140244692A1 (en) * 2013-02-27 2014-08-28 Cellco Partnership D/B/A Verizon Wireless Converting xml to json with configurable output
CN105122243A (zh) * 2013-03-15 2015-12-02 亚马逊科技公司 用于半结构化数据的可扩展分析平台
CN103886046A (zh) * 2014-03-11 2014-06-25 中国信息安全测评中心 一种面向Web数据交换的自动语义抽取的方法
CN104008209A (zh) * 2014-06-20 2014-08-27 南京大学 以GeoJSON格式结构化方式存储地理数据的MongoDB集群的地理数据读写方法
CN106021523A (zh) * 2016-05-24 2016-10-12 北京交通大学 基于json的数据仓库存储及查询方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
我是超人: ""一个简单的读取json文件的数据并保存到数据库的jdbc程序"", 《新浪博客HTTP://BLOG.SINA.COM.CN/S/BLOG_654DB8F901012RE6.HTML》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832443A (zh) * 2017-11-20 2018-03-23 郑州云海信息技术有限公司 一种json文档数据的处理方法、装置和介质
CN107944011A (zh) * 2017-12-08 2018-04-20 中国平安财产保险股份有限公司 团体保单数据的处理方法、装置、服务器和存储介质
CN107944011B (zh) * 2017-12-08 2020-08-21 中国平安财产保险股份有限公司 团体保单数据的处理方法、装置、服务器和存储介质
CN109508409A (zh) * 2018-10-23 2019-03-22 魔秀科技(北京)股份有限公司 一种半结构化json数据自由解析适配方法
CN112559606A (zh) * 2019-09-26 2021-03-26 北京国双科技有限公司 用于json格式数据的转换方法及转换装置
CN110909523A (zh) * 2019-12-02 2020-03-24 中国银行股份有限公司 一种数据处理方法及装置
CN110909523B (zh) * 2019-12-02 2023-10-27 中国银行股份有限公司 一种数据处理方法及装置
CN112784535A (zh) * 2021-01-25 2021-05-11 南京思迈恩传媒科技有限公司 一种json、xml格式数据智能转换为传统数据表格式的算法
CN114357054A (zh) * 2022-03-10 2022-04-15 广州宸祺出行科技有限公司 一种基于ClickHouse的非结构化数据的处理方法和装置

Similar Documents

Publication Publication Date Title
CN106934011A (zh) 一种json数据的结构化解析方法及装置
CN105550241B (zh) 多维数据库查询方法及装置
CN106021257B (zh) 一种支持在线编程的爬虫抓取数据方法、装置及系统
CN104391934A (zh) 数据校验方法和装置
CN103473338B (zh) 网页内容抽取方法和网页内容抽取系统
CN104115145A (zh) 生成表示满足搜索准则的对象中的内容实例的标签的显示组的可视化
CN111125598A (zh) 数据智能查询方法、装置、设备及存储介质
CN106294222A (zh) 一种确定pcie设备与插槽对应关系的方法及装置
CN109033282A (zh) 一种基于抽取模板的网页正文抽取方法及装置
CN105512265A (zh) 一种通过图形展示数据的方法及装置
JP2016518652A (ja) ウェブページ・スタイルアドレスの統合
CN105426305B (zh) 一种控件属性解析系统及方法
CN106446091A (zh) 一种多源时序数据的预处理方法和装置
CN107632590A (zh) 一种基于优先级的底事件排序方法
CN107679141A (zh) 数据入库方法、装置、设备及计算机可读存储介质
CN103235757B (zh) 基于自动化造数对输入域测试对象进行测试的装置和方法
CN113918467A (zh) 金融系统测试方法、装置、设备及存储介质
CN111859862B (zh) 文本的数据标注方法和装置、存储介质及电子装置
CN111176980B (zh) 调试环境和运行环境分离的数据分析方法、装置及系统
CN104462322A (zh) 字符串比对方法和装置
CN101930401A (zh) 一种基于检测对象的软件漏洞模型检测方法
CN103488743B (zh) 网页元素抽取方法和网页元素抽取系统
CN106293862B (zh) 一种可扩展标记语言xml数据的解析方法和装置
CN112470154B (zh) 检测web网页安全性的方法和装置
CN110472125B (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: 20170707

RJ01 Rejection of invention patent application after publication