CN110058858B - 一种json数据处理方法及装置 - Google Patents
一种json数据处理方法及装置 Download PDFInfo
- Publication number
- CN110058858B CN110058858B CN201910320179.1A CN201910320179A CN110058858B CN 110058858 B CN110058858 B CN 110058858B CN 201910320179 A CN201910320179 A CN 201910320179A CN 110058858 B CN110058858 B CN 110058858B
- Authority
- CN
- China
- Prior art keywords
- json
- json text
- text
- target parameter
- sql
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种JSON数据处理方法及装置,其中,该方法包括:获取操作指令、目标参数和待处理的JSON文本;根据目标参数在JSON文本中的位置重新命名JSON文本;根据操作指令生成类SQL语句;根据JSON文本的名称对JSON文本的操作位置进行定位,并根据类SQL语句在JSON文本的操作位置对目标参数进行相应的操作。本发明通过根据需要操作的目标参数在JSON文本中的位置重新命名JSON文本,并根据JSON文本的名字对操作位置进行定位,能够实现对目标参数的精准操作,不需要逐层反复地对JSON文本中的属性参数进行转换工作,提高了JSON文本的转换效率和准确度。
Description
技术领域
本发明涉及数据文本操作技术领域,尤其涉及一种JSON数据处理方法及装置。
背景技术
目前对于JSON这种轻量级的数据格式文本的操作方式主要是将JSON文本使用其他第三方插件转换成JAVA对象,再操作该JAVA对象的属性进行相应操作。
然而,通过第三方插件对JSON文本进行转换操作,通常转换操作仅对JSON文本的最外层属性进行操作,其得到的JAVA对象,只是一个最外层对象,在使用过程中若需要用到外层属性中的子属性,则需要再次进行转换获取,导致JSON文本的转换错误率高和转换效率低下。
发明内容
本发明实施例提供了一种JSON数据处理方法及装置,用于解决传统的对JSON文本进行转换操作所得到的JAVA对象,只是一个最外层对象,在使用过程中若需要用到外层属性中的子属性,则需要再次进行转换获取,导致JSON文本的转换错误率高和转换效率低下的技术问题。
有鉴于此,根据本发明的一个方面,提供一种JSON数据处理方法,包括:
获取操作指令、目标参数和待处理的JSON文本;
根据所述目标参数在所述JSON文本中的位置重新命名所述JSON文本;
根据所述操作指令生成类SQL语句;
根据所述JSON文本的名称对所述JSON文本的操作位置进行定位,并根据所述类SQL语句在所述JSON文本的所述操作位置对所述目标参数进行相应的操作。
优选地,所述根据所述目标参数在所述JSON文本中的位置重新命名所述JSON文本具体为:
确定所述目标参数在所述JSON文本中的属性层次,并按属性层次递进的方式重新命名所述JSON文本。
优选地,所述根据所述操作指令生成类SQL语句具体为:
根据所述操作指令的类型和所述目标参数的信息生成类SQL语句。
优选地,所述根据所述JSON文本的名称对所述JSON文本的操作位置进行定位,并根据所述类SQL语句在所述JSON文本的所述操作位置进行相应的操作具体为:
根据所述JSON文本的名称将所述JSON文本中对应的属性层次确定为操作位置,解析所述类SQL语句,根据解析结果在所述操作位置中确定所述目标参数的位置,并对所述目标参数进行相应的操作。
根据本发明的另一方面,提供一种JSON数据处理装置,包括:
获取模块,用于获取操作指令、目标参数和待处理的JSON文本;
JSON格式字符串语法解析器,用于根据所述目标参数在所述JSON文本中的位置重新命名所述JSON文本;
SQL语法解析器,用于根据所述操作指令生成类SQL语句;
SQL引擎,用于根据所述JSON文本的名称对所述JSON文本的操作位置进行定位,并根据所述类SQL语句在所述JSON文本的所述操作位置对所述目标参数进行相应的操作。
优选地,所述JSON格式字符串语法解析器还用于确定所述目标参数在所述JSON文本中的属性层次,并按属性层次递进的方式重新命名所述JSON文本。
优选地,所述SQL语法解析器还用于根据所述操作指令的类型和所述目标参数的信息生成类SQL语句。
优选地,所述SQL引擎还用于根据所述JSON文本的名称将所述JSON文本中对应的属性层次确定为操作位置,解析所述类SQL语句,根据解析结果在所述操作位置中确定所述目标参数的位置,并对所述目标参数进行相应的操作。
根据本发明的另一方面,提供一种JSON数据处理装置,包括处理器和存储器,所述存储器上存储有计算机程序指令,当所述程序指令被处理器执行时实现如以上所述的JSON数据处理方法。
根据本发明的另一方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,当所述程序指令被处理器执行时实现如以上所述的JSON数据处理方法。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明提供了一种JSON数据处理方法及装置,其中,该方法包括:获取操作指令、目标参数和待处理的JSON文本;根据目标参数在JSON文本中的位置重新命名JSON文本;根据操作指令生成类SQL语句;根据JSON文本的名称对JSON文本的操作位置进行定位,并根据类SQL语句在JSON文本的操作位置对目标参数进行相应的操作。本发明通过根据需要操作的目标参数在JSON文本中的位置重新命名JSON文本,并根据JSON文本的名字对操作位置进行定位,能够实现对目标参数的精准操作,不需要逐层反复地对JSON文本中的属性参数进行转换工作,提高了JSON文本的转换效率和准确度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明提供的一种JSON数据处理方法的一个实施例的流程示意图;
图2为本发明提供的一种JSON数据处理方法的另一个实施例的流程示意图;
图3为本发明提供的一种JSON数据处理装置的一个实施例的结构示意图。
具体实施方式
本发明实施例提供了一种JSON数据处理方法及装置,用于解决传统的对JSON文本进行转换操作所得到的JAVA对象,只是一个最外层对象,在使用过程中若需要用到外层属性中的子属性,则需要再次进行转换获取,导致JSON文本的转换错误率高和转换效率低下的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明提供的一种JSON数据处理方法的一个实施例,包括:
101、获取操作指令、目标参数和待处理的JSON文本;
102、根据目标参数在JSON文本中的位置重新命名JSON文本;
103、根据操作指令生成类SQL语句;
104、根据JSON文本的名称对JSON文本的操作位置进行定位,并根据类SQL语句在JSON文本的操作位置对目标参数进行相应的操作。
本发明通过根据需要操作的目标参数在JSON文本中的位置重新命名JSON文本,并根据JSON文本的名字对操作位置进行定位,能够实现对目标参数的精准操作,不需要逐层反复地对JSON文本中的属性参数进行转换工作,提高了JSON文本的转换效率和准确度。
以上为一种JSON数据处理方法的一个实施例,为进行更具体的说明,下面提供一种JSON数据处理方法的另一个实施例,请参阅图2,本发明提供的一种JSON数据处理方法的另一个实施例,包括:
201、获取操作指令、目标参数和待处理的JSON文本;
在本发明实施例中,操作指令为用户输入的对目标参数进行操作的指令,通常其类型可以包括:查询操作、增加操作、修改操作和删除操作。目标参数通常位于JSON文本中,需要说明的是,该目标参数为JSON文本中的属性参数,其分布于JSON文本中的某个属性层次。
202、确定目标参数在JSON文本中的属性层次,并按属性层次递进的方式重新命名JSON文本;
在确定目标参数在JSON文本中的属性层次后,JSON格式字符串语法解析器可以按属性层次递进的方式重新命名JSON文本。如该目标参数位于JSON文本中的第二个属性层次B中,则该JSON文本可以命名为A.B,其中A代表JSON文本的最外属性层,又如该目标参数位于JSON文本中的第三个属性层次C中,则该JSON文本可以命名为A.B.C,以此类推。
203、根据操作指令的类型和目标参数的信息生成类SQL语句;
JSON格式字符串语法解析器对JSON文本重新命名后,SQL语法解析器可以根据操作指令的类型和目标参数的信息生成类SQL语句。需要说明的是,目标参数的信息通常是该目标参数相关的本身属性和参数值,以及其在JSON文本中某个属性层次中的具体位置信息。
204、根据JSON文本的名称将JSON文本中对应的属性层次确定为操作位置,解析类SQL语句,根据解析结果在操作位置中确定目标参数的位置,并对目标参数进行相应的操作。
由于JSON文本的名称可以具体定位到JSON文本中的属性层次,因此,在确定JSON文本的名称后,SQL引擎可以确定JSON文本中相应的属性层次为操作位置,由于目标参数分布在该属性层次(即操作位置)中,还需解析类SQL语句,得到相应的操作类型和目标参数的信息后,可以进一步确定该目标参数在该操作位置中的最终位置,进而对目标参数执行相应的操作,操作完成后,则可以得到相应的JAVA数据对象,即对该数据对象进行数据更新操作,保证数据对象中的数据信息一致性。
本发明通过根据需要操作的目标参数在JSON文本中的位置重新命名JSON文本,并根据JSON文本的名字对操作位置进行定位,能够实现对目标参数的精准操作,不需要逐层反复地对JSON文本中的属性参数进行转换工作,提高了JSON文本的转换效率和准确度。
以上是对本发明提供的一种JSON数据处理方法进行的详细说明,以下将对本发明提供的一种JSON数据处理装置的结构和连接关系进行说明,请参阅图3,本发明提供的一种JSON数据处理装置的一个实施例,包括:
获取模块301,用于获取操作指令、目标参数和待处理的JSON文本;
JSON格式字符串语法解析器302,用于根据目标参数在JSON文本中的位置重新命名JSON文本;
SQL语法解析器303,用于根据操作指令生成类SQL语句;
SQL引擎304,用于根据JSON文本的名称对JSON文本的操作位置进行定位,并根据类SQL语句在JSON文本的操作位置对目标参数进行相应的操作。
更进一步地,JSON格式字符串语法解析器还用于确定目标参数在JSON文本中的属性层次,并按属性层次递进的方式重新命名JSON文本。
更进一步地,SQL语法解析器还用于根据操作指令的类型和目标参数的信息生成类SQL语句。
更进一步地,SQL引擎还用于根据JSON文本的名称将JSON文本中对应的属性层次确定为操作位置,解析类SQL语句,根据解析结果在操作位置中确定目标参数的位置,并对目标参数进行相应的操作。
本发明是一种将JOSN格式字符串通过语法解析器,生成封装对象,再以SQL语法解析器组装成与SQL相同方式进行查询、增加、删除、修改的规则引擎,所用语言为JAVA语言,实现了跨平台的部署应用。
本发明提供一种JSON数据处理装置的另一个实施例,包括处理器和存储器,该存储器上存储有计算机程序指令,当该程序指令被处理器执行时实现如以上所述的JSON数据处理方法。
本发明还涉及一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,当该程序指令被处理器执行时实现如以上所述的JSON数据处理方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种JSON数据处理方法,其特征在于,包括:
获取操作指令、目标参数和待处理的JSON文本;
根据所述目标参数在所述JSON文本中的位置重新命名所述JSON文本;
根据所述操作指令生成类SQL语句;
根据所述JSON文本的名称对所述JSON文本的操作位置进行定位,并根据所述类SQL语句在所述JSON文本的所述操作位置对所述目标参数进行相应的操作;
所述根据所述JSON文本的名称对所述JSON文本的操作位置进行定位,并根据所述类SQL语句在所述JSON文本的所述操作位置进行相应的操作具体为:
根据所述JSON文本的名称将所述JSON文本中对应的属性层次确定为操作位置,解析所述类SQL语句,根据解析结果在所述操作位置中确定所述目标参数的位置,并对所述目标参数进行相应的操作。
2.根据权利要求1所述的JSON数据处理方法,其特征在于,所述根据所述目标参数在所述JSON文本中的位置重新命名所述JSON文本具体为:
确定所述目标参数在所述JSON文本中的属性层次,并按属性层次递进的方式重新命名所述JSON文本。
3.根据权利要求2所述的JSON数据处理方法,其特征在于,所述根据所述操作指令生成类SQL语句具体为:
根据所述操作指令的类型和所述目标参数的信息生成类SQL语句。
4.一种JSON数据处理装置,其特征在于,包括:
获取模块,用于获取操作指令、目标参数和待处理的JSON文本;
JSON格式字符串语法解析器,用于根据所述目标参数在所述JSON文本中的位置重新命名所述JSON文本;
SQL语法解析器,用于根据所述操作指令生成类SQL语句;
SQL引擎,用于根据所述JSON文本的名称对所述JSON文本的操作位置进行定位,并根据所述类SQL语句在所述JSON文本的所述操作位置对所述目标参数进行相应的操作;
所述SQL引擎还用于根据所述JSON文本的名称将所述JSON文本中对应的属性层次确定为操作位置,解析所述类SQL语句,根据解析结果在所述操作位置中确定所述目标参数的位置,并对所述目标参数进行相应的操作。
5.根据权利要求4所述的JSON数据处理装置,其特征在于,所述JSON格式字符串语法解析器还用于确定所述目标参数在所述JSON文本中的属性层次,并按属性层次递进的方式重新命名所述JSON文本。
6.根据权利要求5所述的JSON数据处理装置,其特征在于,所述SQL语法解析器还用于根据所述操作指令的类型和所述目标参数的信息生成类SQL语句。
7.一种JSON数据处理装置,其特征在于,包括处理器和存储器,所述存储器上存储有计算机程序指令,当所述程序指令被处理器执行时实现如权利要求1至权利要求4中任一项所述的JSON数据处理方法。
8.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序指令,当所述程序指令被处理器执行时实现如权利要求1至权利要求4中任一项所述的JSON数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910320179.1A CN110058858B (zh) | 2019-04-19 | 2019-04-19 | 一种json数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910320179.1A CN110058858B (zh) | 2019-04-19 | 2019-04-19 | 一种json数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110058858A CN110058858A (zh) | 2019-07-26 |
CN110058858B true CN110058858B (zh) | 2023-05-02 |
Family
ID=67319823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910320179.1A Active CN110058858B (zh) | 2019-04-19 | 2019-04-19 | 一种json数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110058858B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113676437B (zh) * | 2020-05-14 | 2023-08-18 | 中国移动通信集团云南有限公司 | 参数获取方法、参数设置方法以及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108304442B (zh) * | 2017-11-20 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 一种文本信息处理方法、装置及存储介质 |
CN109492205B (zh) * | 2018-09-12 | 2023-10-10 | 阿里巴巴(中国)有限公司 | 文本的动态绘制方法及装置、计算设备及可读介质 |
CN109598131B (zh) * | 2018-09-30 | 2021-07-30 | 北京乐我无限科技有限责任公司 | 一种文件上传、下载方法、装置、电子设备及存储介质 |
-
2019
- 2019-04-19 CN CN201910320179.1A patent/CN110058858B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110058858A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061757B (zh) | 数据库的语言转换方法、装置、电子设备及存储介质 | |
US11023500B2 (en) | Systems and methods for code parsing and lineage detection | |
EP2499565B1 (en) | Managing record format information | |
US10162613B1 (en) | Re-usable rule parser for different runtime engines | |
CN108182215B (zh) | 一种结构化查询语言sql性能统计的方法及装置 | |
CN108984155B (zh) | 数据处理流程设定方法和装置 | |
WO2020219182A1 (en) | Code completion for languages with hierarchical structures | |
CN107766353B (zh) | 一种数据库统计信息迁移的方法和设备 | |
CN112015722A (zh) | 数据库管理方法、数据血缘分析方法以及相关装置 | |
CN112860730A (zh) | Sql语句的处理方法、装置、电子设备及可读存储介质 | |
CN110058858B (zh) | 一种json数据处理方法及装置 | |
US10223086B2 (en) | Systems and methods for code parsing and lineage detection | |
US10460044B2 (en) | Methods and systems for translating natural language requirements to a semantic modeling language statement | |
WO2023164294A1 (en) | Query splitter for an inverted index datastore | |
CN114090619B (zh) | 自然语言的查询处理方法及装置 | |
CN114281842A (zh) | 一种数据库分表查询的方法及设备 | |
CN113448852A (zh) | 一种测试案例的获取方法、装置、电子设备及存储介质 | |
CN113138767A (zh) | 代码语言转换方法、装置、电子设备及存储介质 | |
CN114489682B (zh) | nginx配置文件的操作方法、装置和设备 | |
US20240046214A1 (en) | Systems and methods for facilitating modifications and updates to shared content | |
CN111079391B (zh) | 一种报表的生成方法及装置 | |
CN116450863A (zh) | 基于数据存储系统的图像数据操作方法、装置及介质 | |
CN114385664A (zh) | 一种单体项目微服务的拆分方法、系统、装置及存储介质 | |
CN117033380A (zh) | 一种数据溯源的方法、装置、电子设备及存储介质 | |
CN116804988A (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 |