CN109656550A - json数据解析方法、装置、设备及可读存储介质 - Google Patents
json数据解析方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN109656550A CN109656550A CN201811539199.XA CN201811539199A CN109656550A CN 109656550 A CN109656550 A CN 109656550A CN 201811539199 A CN201811539199 A CN 201811539199A CN 109656550 A CN109656550 A CN 109656550A
- Authority
- CN
- China
- Prior art keywords
- json data
- error resolution
- resolution content
- parsing result
- parsing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000007405 data analysis Methods 0.000 title claims abstract description 57
- 230000008569 process Effects 0.000 claims description 42
- 238000002224 dissection Methods 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 7
- 235000013399 edible fruits Nutrition 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 5
- 108010001267 Protein Subunits Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000009885 systemic effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 238000013497 data interchange Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种json数据解析方法、装置、设备及可读存储介质,所述方法包括:在接收到json数据解析指令时,基于所述解析指令解析所述json数据,并获取第一解析结果;判断所述第一解析结果中是否包含错误解析内容,若所述第一解析结果中包含错误解析内容,则确定所述错误解析内容的类型;若所述错误解析内容的类型是极值类型,则对所述错误解析内容进行预设序列化处理,以得到所述json数据的第二解析结果。本发明解决现有技术中,在将字符串格式表示的json数据解析为预设json对象格式表示的json数据过程中,解析的成功率与效率低的技术问题。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种json数据解析方法、装置、设备及可读存储介质。
背景技术
苹果iOS系统常常需要对json(JavaScript Object Notation,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数据是否全部为字符串格式数据;
若所述更新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数据中,得到更新json数据;
对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果。
可选地,所述对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果步骤包括:
判断所述更新json数据是否全部为字符串格式数据;
若所述更新json数据全部为字符串格式数据,则对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果。
此外,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序可被一个或者一个以上的处理器执行以用于:
在接收到json数据解析指令时,基于所述解析指令解析所述json数据,并获取第一解析结果;
判断所述第一解析结果中是否包含错误解析内容,若所述第一解析结果中包含错误解析内容,则确定所述错误解析内容的类型;
若所述错误解析内容的类型是极值类型,则对所述错误解析内容进行预设序列化处理,以得到所述json数据的第二解析结果。
本发明通过在接收到json数据解析指令时,基于所述解析指令解析所述json数据,并获取第一解析结果;判断所述第一解析结果中是否包含错误解析内容,若所述第一解析结果中包含错误解析内容,则确定所述错误解析内容的类型;若所述错误解析内容的类型是极值类型,则对所述错误解析内容进行预设序列化处理,以得到所述json数据的第二解析结果。在本实施例中,在解析过程中,若检测到第一解析结果中包含极值类型的错误解析内容时,不再是报错处理,而是对所述包含极值类型的错误解析内容进行预设序列化处理,以得到json数据的第二解析结果,也即在遭遇极值类型错误解析内容时,能够自动化地处理该极值类型的错误解析内容,避免重复解析json数据,因而,提升解析的成功率与效率,以解决json数据解析的成功率与效率低的技术问题。
附图说明
图1为本发明json数据解析方法第一实施例的流程示意图;
图2为本发明json数据解析方法第二实施例中判断所述第一解析结果中是否包含错误解析内容步骤的细化流程示意图;
图3是本发明实施例方法涉及的硬件运行环境的设备结构示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种json数据解析方法,在本发明json数据解析方法的第一实施例中,参照图1,所述json数据解析方法包括:
步骤S10,在接收到json数据解析指令时,基于所述解析指令解析所述json数据,并获取第一解析结果;
步骤S20,判断所述第一解析结果中是否包含错误解析内容,若所述第一解析结果中包含错误解析内容,则确定所述错误解析内容的类型;
步骤S30,若所述错误解析内容的类型是极值类型,则对所述错误解析内容进行预设序列化处理,以得到所述json数据的第二解析结果。
具体步骤如下:
步骤S10,在接收到json数据解析指令时,基于所述解析指令解析所述json数据,并获取第一解析结果;
在本实施例中,json数据指的是可以在字符串格式以及json对象格式之间进行转换的数据,json数据需要在字符串格式以及json对象格式之间进行转换是因为,将json对象格式表示的json数据转换为字符串格式表示的json数据才能便于机器识别,也即该字符串格式表示的json数据才可以在函数之间传递,或者json数据需要表示为字符串格式时才可以在应用程序中从Web客户机传递给服务器端,而在本实施例中,需要对json数据进行解析,解析是把字符串格式表示的json数据转换为json对象格式,把字符串格式表示的json数据转换为json对象格式表示的json数据是因为:json对象格式表示的json数据便于对json数据中各种类型的对象作处理操作。
然而,目前,对json数据进行解析的过程中,常常存在极值数字数据错误解析的情况,也即在解析过程中,由于现有IOS系统的缺陷,不对一个纯数字的字符串进行处理,也即解析时,将一个纯数字的字符串还是以字符串格式而不是json对象格式进行返回,而json数据中极值数字数据是常见的,导致因极值数字数据错误解析而造成json数据全部重新解析的现象严重影响了json数据解析的效率。
在本实施例中,在应用程序的代码执行过程中,若在接收到json数据解析指令时,则基于所述解析指令解析所述json数据,并获取第一解析结果,其中,该第一解析结果可能为全部正确的第一解析结果,或者该第一解析结果为部分错误的第一解析结果,其中,对json数据进行解析即是将字符串格式表示的json数据转换为json对象格式表示的json数据的具体过程,在此不作具体说明。
步骤S20,判断所述第一解析结果中是否包含错误解析内容,若所述第一解析结果中包含错误解析内容,则确定所述错误解析内容的类型;
判断所述第一解析结果中是否包含错误解析内容,该错误解析内容可以是极值类型错误解析内容、逻辑紊乱类型错误解析内容或者是程序错乱类型错误解析内容等,在确定第一解析结果中包含错误解析内容后,需要确定所述错误解析内容的类型,本实施例中,终端要在若所述第一解析结果中包含错误解析内容时,则确定所述错误解析内容的类型,需要事先在内置的处理器中设置程序段,该程序段表示确定所述错误解析内容的类型的处理逻辑,该处理逻辑用于在检测到第一解析结果中包含错误解析内容时,触发处理器以以基于该含错误解析内容确定所述错误解析内容的类型。
其中,参照图2,所述判断所述第一解析结果中是否包含错误解析内容步骤包括:
步骤S21,判断所述第一解析结果中是否包含预设数字,或者判断所述第一解析结果中是否包含预设关键字,其中,所述预设关键字包括预设描述关键字以及预设编码关键字;
通过判断所述第一解析结果中是否包含预设数字,或者判断所述第一解析结果中是否包含预设关键字的方式判断所述第一解析结果中是否包含错误解析内容,其中,所述预设关键字包括预设描述关键字以及预设编码关键字,用以具体实施例进行说明,该预设数字可以为设置的数字3840,该预设描述关键字可以为error.code或则是error.description等。
步骤S22,若所述第一解析结果中包含预设数字,或者所述第一解析结果中包含预设关键字,则判定所述第一解析结果中包含错误解析内容。
若所述第一解析结果中包含预设数字,或者所述第一解析结果中包含预设关键字,则判定所述第一解析结果中包含错误解析内容,若第一解析结果中包含错误解析内容,则采取错误解析内容的处理逻辑,若第一解析结果中未包含错误解析内容,则直接获取解析后的第一解析结果,将第一解析结果作为最终的解析结果。
步骤S30,若所述错误解析内容的类型是极值类型,则对所述错误解析内容进行预设序列化处理,以得到所述json数据的第二解析结果。
在确定存在错误解析内容后,则对错误解析内容进行定位,判断错误解析内容的类型,具体地,将错误解析内容与预设极值正则表达式进行比对匹配,以判断所述错误解析内容的类型是否为极值类型,极值类型指的是:待解析的内容超出系统预设解析的数字的范围,如系统预设解析的数字的范围为0-100,而待解析的内容为数字101,则该数字101为极值类型数字内容,若所述错误解析内容的类型是极值类型,则将所述错误解析内容进行预设序列化处理,预设序列化处理也即对错误解析内容进行重构解析处理,得到序列化处理结果,再将序列化处理结果嵌入至原第一解析结果中,以得到所述json数据的第二解析结果。
若所述错误解析内容的类型是非极值类型,则对错误解析内容进行其他类型定位,例如判断错误解析内容是否为逻辑紊乱类型错误解析内容或者是程序错乱类型错误解析内容,若错误解析内容为逻辑紊乱类型错误解析内容,则报错处理,并直接返回,若错误解析内容为程序错乱类型错误解析内容,则获取程序号,根据程序号对json数据内容进行重新排序并处理,得到排序处理结果。
具体地,所述若所述错误解析内容的类型是极值类型,则对所述错误解析内容进行预设序列化处理,以得到所述json数据的第二解析结果步骤包括:
步骤S31,若所述错误解析内容的类型是极值类型,则将所述错误解析内容转换为字符串,以得到字符串数据;
在本实施例中,若所述错误解析内容的类型是极值类型,则获取错误解析内容,其中,根据错误起始标识与错误结束标识确定错误解析内容,在得到错误解析内容后,将所述错误解析内容转换为字符串,以得到字符串数据。将错误解析内容转换成字符串是因为字符串占用的空间可能与数字不一样,而在解析前json数据是字符串格式表示,因而,将所述错误解析内容转换为字符串可以避免产生新的错误。
步骤S32,将所述字符串数据嵌入至所述json数据中,得到更新json数据;
在得到错误解析内容后,将所述字符串数据嵌入至剔除了错误解析内容的所述json数据中,得到更新json数据。
步骤S33,对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果。
在得到更新json数据后,对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果,初始化处理指的是再重新载入更新json数据。
本发明通过在接收到json数据解析指令时,基于所述解析指令解析所述json数据,并获取第一解析结果;判断所述第一解析结果中是否包含错误解析内容,若所述第一解析结果中包含错误解析内容,则确定所述错误解析内容的类型;若所述错误解析内容的类型是极值类型,则对所述错误解析内容进行预设序列化处理,以得到所述json数据的第二解析结果。在本实施例中,在解析过程中,若检测到第一解析结果中包含极值类型的错误解析内容时,不再是报错处理,而是对所述包含极值类型的错误解析内容进行预设序列化处理,以得到json数据的第二解析结果,也即在遭遇极值类型错误解析内容时,能够自动化地处理该极值类型的错误解析内容,避免重复解析json数据,因而,提升解析的成功率与效率,以解决json数据解析的成功率与效率低的技术问题。
进一步地,本发明提供json数据解析方法的另一实施例,在该实施例中,所述若所述第一解析结果中包含错误解析内容,则确定所述错误解析内容的类型步骤包括:
步骤S23,若所述第一解析结果中包含错误解析内容,则将所述错误解析内容与预设极值正则表达式进行匹配;
在本实施例中,是通过将错误解析内容与预设极值正则表达式进行匹配,来判断所述错误解析内容的类型是否为极值类型,其中,预设极值正则表达式可以根据具体情况或者设计者的需求进行设定,也即在本实施例中,预设极值正则表达式是可以变化且为动态的。
步骤S24,若所述错误解析内容与预设极值正则表达式匹配成功,则确定所述错误解析内容的类型为极值类型;
步骤S25,若所述错误解析内容与预设极值正则表达式匹配失败,则确定所述错误解析内容的类型为非极值类型。
若所述错误解析内容与预设极值正则表达式匹配成功,则确定所述错误解析内容的类型为极值类型,若所述错误解析内容与预设极值正则表达式匹配失败,则确定所述错误解析内容的类型为非极值类型,若确定所述错误解析内容的类型为非极值类型,则需要对错误解析内容进行定位,在定位过程中,主要是根据预先的测试逻辑对错误解析内容进行反复测试,若对错误解析内容测试失败,则定位失败,若定位失败,则放弃所述json数据,若定位成功,则根据所述定位的错误解析内容的类型进行json数据的初始化或者序列化处理。
所述若所述第一解析结果中包含错误解析内容,则将所述错误解析内容与预设极值正则表达式进行匹配步骤之后包括:
步骤S26,若所述错误解析内容与预设极值正则表达式匹配失败,则生成所述json数据解析失败的提示信息;
步骤S27,基于所述解析失败的提示信息,将所述json数据发送给预设错误解析处理接口,以供所述错误解析处理接口对所述json数据进行再次处理。
在本实施例中,若所述错误解析内容与预设极值正则表达式匹配失败,进一步地,且对所述错误解析内容定位失败后,则生成所述json数据解析失败的提示信息,在解析失败后,基于所述解析失败的提示信息,将所述json数据发送给预设错误解析处理接口,以供所述错误解析处理接口对所述json数据进行再次处理。以避免所述json数据未得到有效解决。
在本实施例中,通过若所述第一解析结果中包含错误解析内容,则将所述错误解析内容与预设极值正则表达式进行匹配;若所述错误解析内容与预设极值正则表达式匹配成功,则确定所述错误解析内容的类型为极值类型;若所述错误解析内容与预设极值正则表达式匹配失败,则确定所述错误解析内容的类型为非极值类型。由于准确识别错误解析内容的类型,因而为提高解析json数据的效率奠定基础。
进一步地,本发明提供json数据解析方法的另一实施例,在该实施例中,所述对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果步骤包括:
步骤A1,判断所述更新json数据是否全部为字符串格式数据;
步骤A2,若所述更新json数据全部为字符串格式数据,则对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果。
在本实施例中,判断所述更新json数据是否全部为字符串格式数据,判断所述更新json数据是否全部为字符串格式数的目的在于避免引入新的错误,因而,在所述更新json数据全部为字符串格式数据,则对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果,若所述更新json数据未全部为字符串格式数据,则对所述更新json数据进行格式转换处理后,再对格式转换处理后的所述json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果,以避免引入新的错误而造成错误解析的情况。
参照图3,图3是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例json数据解析方法设备可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、便携计算机等终端设备。
如图3所示,该json数据解析方法设备可以包括:处理器1001,例如CPU,存储器1005,通信总线1002。其中,通信总线1002用于实现处理器1001和存储器1005之间的连接通信。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储设备。
可选地,该json数据解析方法设备还可以包括目标用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。目标用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选目标用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
本领域技术人员可以理解,图3中示出的json数据解析方法设备结构并不构成对json数据解析方法设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图3所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块以及json数据解析方法程序。操作系统是管理和控制json数据解析方法设备硬件和软件资源的程序,支持json数据解析方法程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与json数据解析方法设备中其它硬件和软件之间通信。
在图3所示的json数据解析方法设备中,处理器1001用于执行存储器1005中存储的json数据解析方法程序,实现上述任一项所述的json数据解析方法的步骤。
本发明json数据解析方法设备具体实施方式与上述json数据解析方法各实施例基本相同,在此不再赘述。
本发明还提供一种json数据解析方法装置,所述json数据解析方法装置包括:
获取模块,用于在接收到json数据解析指令时,基于所述解析指令解析所述json数据,并获取第一解析结果;
判断模块,用于判断所述第一解析结果中是否包含错误解析内容,若所述第一解析结果中包含错误解析内容,则确定所述错误解析内容的类型;
处理模块,用于若所述错误解析内容的类型是极值类型,则对所述错误解析内容进行预设序列化处理,以得到所述json数据的第二解析结果。
可选地,所述判断模块包括:
判断单元,用于判断所述第一解析结果中是否包含预设数字,或者判断所述第一解析结果中是否包含预设关键字,其中,所述预设关键字包括预设描述关键字以及预设编码关键字;
第一判定单元,用于若所述第一解析结果中包含预设数字,或者所述第一解析结果中包含预设关键字,则判定所述第一解析结果中包含错误解析内容。
可选地,所述判断模块还包括:
匹配单元,用于若所述第一解析结果中包含错误解析内容,则将所述错误解析内容与预设极值正则表达式进行匹配;
第二判定单元,用于若所述错误解析内容与预设极值正则表达式匹配成功,则确定所述错误解析内容的类型为极值类型;
第三判定单元,用于若所述错误解析内容与预设极值正则表达式匹配失败,则确定所述错误解析内容的类型为非极值类型。
可选地,所述判断模块还包括:
生成单元,用于若所述错误解析内容与预设极值正则表达式匹配失败,则生成所述json数据解析失败的提示信息;
发送单元,用于基于所述解析失败的提示信息,将所述json数据发送给预设错误解析处理接口,以供所述错误解析处理接口对所述json数据进行再次处理。
可选地,所述处理模块包括:
转换单元,用于若所述错误解析内容的类型是极值类型,则将所述错误解析内容转换为字符串,以得到字符串数据;
嵌入单元,用于将所述字符串数据嵌入至所述json数据中,得到更新json数据;
解析单元,用于对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果。
可选地,所述解析单元包括:
判断子单元,用于判断所述更新json数据是否全部为字符串格式数据;
解析子单元,用于若所述更新json数据全部为字符串格式数据,则对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果。
本发明json数据解析方法装置具体实施方式与上述json数据解析方法各实施例基本相同,在此不再赘述。
本发明提供了一种可读存储介质,所述可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序还可被一个或者一个以上的处理器执行以用于实现上述任一项所述的json数据解析方法的步骤。
本发明可读存储介质具体实施方式与上述json数据解析方法各实施例基本相同,在此不再赘述。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利处理范围内。
Claims (10)
1.一种json数据解析方法,其特征在于,所述json数据解析方法包括:
在接收到json数据解析指令时,基于所述解析指令解析所述json数据,并获取第一解析结果;
判断所述第一解析结果中是否包含错误解析内容,若所述第一解析结果中包含错误解析内容,则确定所述错误解析内容的类型;
若所述错误解析内容的类型是极值类型,则对所述错误解析内容进行预设序列化处理,以得到所述json数据的第二解析结果。
2.如权利要求1所述的json数据解析方法,其特征在于,所述判断所述第一解析结果中是否包含错误解析内容步骤包括:
判断所述第一解析结果中是否包含预设数字,或者判断所述第一解析结果中是否包含预设关键字,其中,所述预设关键字包括预设描述关键字以及预设编码关键字;
若所述第一解析结果中包含预设数字,或者所述第一解析结果中包含预设关键字,则判定所述第一解析结果中包含错误解析内容。
3.如权利要求1所述的json数据解析方法,其特征在于,所述若所述第一解析结果中包含错误解析内容,则确定所述错误解析内容的类型步骤包括:
若所述第一解析结果中包含错误解析内容,则将所述错误解析内容与预设极值正则表达式进行匹配;
若所述错误解析内容与预设极值正则表达式匹配成功,则确定所述错误解析内容的类型为极值类型;
若所述错误解析内容与预设极值正则表达式匹配失败,则确定所述错误解析内容的类型为非极值类型。
4.如权利要求3所述的json数据解析方法,其特征在于,所述若所述第一解析结果中包含错误解析内容,则将所述错误解析内容与预设极值正则表达式进行匹配步骤之后包括:
若所述错误解析内容与预设极值正则表达式匹配失败,则生成所述json数据解析失败的提示信息;
基于所述解析失败的提示信息,将所述json数据发送给预设错误解析处理接口,以供所述错误解析处理接口对所述json数据进行再次处理。
5.如权利要求1所述的json数据解析方法,其特征在于,所述若所述错误解析内容的类型是极值类型,则对所述错误解析内容进行预设序列化处理,以得到所述json数据的第二解析结果步骤包括:
若所述错误解析内容的类型是极值类型,则将所述错误解析内容转换为字符串,以得到字符串数据;
将所述字符串数据嵌入至所述json数据中,得到更新json数据;
对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果。
6.如权利要求5所述的json数据解析方法,其特征在于,所述对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果步骤包括:
判断所述更新json数据是否全部为字符串格式数据;
若所述更新json数据全部为字符串格式数据,则对所述更新json数据进行初始化处理以及解析处理,以得到所述json数据的第二解析结果。
7.一种json数据解析方法装置,其特征在于,所述json数据解析方法装置包括:
获取模块,用于在接收到json数据解析指令时,基于所述解析指令解析所述json数据,并获取第一解析结果;
判断模块,用于判断所述第一解析结果中是否包含错误解析内容,若所述第一解析结果中包含错误解析内容,则确定所述错误解析内容的类型;
处理模块,用于若所述错误解析内容的类型是极值类型,则对所述错误解析内容进行预设序列化处理,以得到所述json数据的第二解析结果。
8.如权利要求7所述的json数据解析装置,其特征在于,所述判断模块包括:
判断单元,用于判断所述第一解析结果中是否包含预设数字,或者判断所述第一解析结果中是否包含预设关键字,其中,所述预设关键字包括预设描述关键字以及预设编码关键字;
判定单元,用于若所述第一解析结果中包含预设数字,或者所述第一解析结果中包含预设关键字,则判定所述第一解析结果中包含错误解析内容。
9.一种json数据解析方法设备,其特征在于,所述json数据解析方法设备包括:存储器、处理器,通信总线以及存储在所述存储器上的json数据解析方法程序,
所述通信总线用于实现处理器与存储器间的通信连接;
所述处理器用于执行所述json数据解析方法程序,以实现如权利要求1至6中任一项所述的json数据解析方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有json数据解析方法程序,所述json数据解析方法程序被处理器执行时实现如权利要求1-6中任一项所述的json数据解析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811539199.XA CN109656550A (zh) | 2018-12-14 | 2018-12-14 | json数据解析方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811539199.XA CN109656550A (zh) | 2018-12-14 | 2018-12-14 | json数据解析方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109656550A true CN109656550A (zh) | 2019-04-19 |
Family
ID=66113460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811539199.XA Pending CN109656550A (zh) | 2018-12-14 | 2018-12-14 | json数据解析方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656550A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111652272A (zh) * | 2020-04-27 | 2020-09-11 | 中国平安财产保险股份有限公司 | 图像处理方法及装置、计算机设备、存储介质 |
CN112702303A (zh) * | 2019-10-23 | 2021-04-23 | 株洲中车时代电气股份有限公司 | 一种列车实时数据解析方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110200040A1 (en) * | 2010-02-12 | 2011-08-18 | International Business Machines Corporation | Extremum route determining engine and method |
CN103605518A (zh) * | 2013-11-19 | 2014-02-26 | 北京国双科技有限公司 | 对象反序列化方法和装置 |
CN106649634A (zh) * | 2016-12-08 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种解析json数据的方法及装置 |
CN106843878A (zh) * | 2017-01-20 | 2017-06-13 | 武汉斗鱼网络科技有限公司 | 一种模型生成方法和系统 |
CN107943483A (zh) * | 2017-11-23 | 2018-04-20 | 北京酷我科技有限公司 | 一种iOS中数据正向解析方法 |
CN108170652A (zh) * | 2017-12-29 | 2018-06-15 | 北京酷我科技有限公司 | 一种iOS字典安全解析的方法 |
-
2018
- 2018-12-14 CN CN201811539199.XA patent/CN109656550A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110200040A1 (en) * | 2010-02-12 | 2011-08-18 | International Business Machines Corporation | Extremum route determining engine and method |
CN103605518A (zh) * | 2013-11-19 | 2014-02-26 | 北京国双科技有限公司 | 对象反序列化方法和装置 |
CN106649634A (zh) * | 2016-12-08 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | 一种解析json数据的方法及装置 |
CN106843878A (zh) * | 2017-01-20 | 2017-06-13 | 武汉斗鱼网络科技有限公司 | 一种模型生成方法和系统 |
CN107943483A (zh) * | 2017-11-23 | 2018-04-20 | 北京酷我科技有限公司 | 一种iOS中数据正向解析方法 |
CN108170652A (zh) * | 2017-12-29 | 2018-06-15 | 北京酷我科技有限公司 | 一种iOS字典安全解析的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112702303A (zh) * | 2019-10-23 | 2021-04-23 | 株洲中车时代电气股份有限公司 | 一种列车实时数据解析方法、装置、设备及存储介质 |
CN111652272A (zh) * | 2020-04-27 | 2020-09-11 | 中国平安财产保险股份有限公司 | 图像处理方法及装置、计算机设备、存储介质 |
CN111652272B (zh) * | 2020-04-27 | 2024-05-28 | 中国平安财产保险股份有限公司 | 图像处理方法及装置、计算机设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9355637B2 (en) | Method and apparatus for performing speech keyword retrieval | |
US20150109941A1 (en) | Mobile device test system | |
CN110889265B (zh) | 信息处理设备和信息处理方法 | |
US8090569B2 (en) | Apparatus and method for testing electronic apparatuses | |
CN110334334B (zh) | 一种摘要生成方法、装置及计算机设备 | |
CN107861713A (zh) | 数据调用方法、装置及计算机可读存储介质 | |
CN103959282A (zh) | 用于文本识别系统的选择性反馈 | |
CN105100343A (zh) | 手机及仪表控制方法以及使用该方法的系统 | |
CN109656550A (zh) | json数据解析方法、装置、设备及可读存储介质 | |
WO2015014308A1 (en) | A method and a device for data processing | |
JP2021192214A (ja) | アプリケーションの動作状態を検証する方法および装置 | |
CN107577542A (zh) | 日志信息上报方法、装置、存储介质及移动终端 | |
CN113190646A (zh) | 一种用户名样本的标注方法、装置、电子设备及存储介质 | |
CA3147341A1 (en) | Category phrase recognition method, model training method, device and system | |
CN112527678A (zh) | 用于测试协议的方法、装置、设备以及存储介质 | |
US10031734B2 (en) | Device and method for generating application package | |
CN109005469A (zh) | 一种消息格式的转换方法、装置、存储介质及安卓终端 | |
CN109144841B (zh) | 广告应用的识别方法和装置、计算机设备和存储介质 | |
CN115600213A (zh) | 基于应用程序的漏洞管理方法、装置、介质及设备 | |
CN112199270B (zh) | 一种程序测试方法、装置、设备及介质 | |
CN110297754A (zh) | 一种测试信息反馈方法及系统 | |
CN112667868B (zh) | 一种数据检测方法以及装置 | |
US20200272653A1 (en) | Apparatus for searching for content using image and method of controlling same | |
CN109413714B (zh) | 用户代理信息的处理方法、装置、存储介质及终端 | |
CN106775633A (zh) | 一种自动切换默认Launcher的方法、装置及终端 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190419 |
|
WD01 | Invention patent application deemed withdrawn after publication |