一种通用json数据修改方法、系统、电子设备及存储介质技术方案

技术编号:38234178 阅读:9 留言:0更新日期:2023-07-25 18:00
本发明专利技术公开一种通用json数据修改方法、系统、电子设备及存储介质,该修改方法用于内存介质中json数据的修改,方法中首先针对每一种原始json数据,制定json数据模板;然后根据待修改的json数据的字段和结构位置,组成临时json数据;最后根据制定的json数据模板,遍历原始json数据和临时json数据,并用临时json数据替换原始json数据,完成json数据的修改,此方法满足同时修改多个不同位置的json字段,对json数据的新增字段支持性良好,基本只需修改数据模板即可,且兼容性较好,缩短修改过程,能有效提高同时修改任意位置和任意数量时的修改效率。改效率。改效率。

【技术实现步骤摘要】
一种通用json数据修改方法、系统、电子设备及存储介质


[0001]本专利技术属于计算机软件
,具体涉及到一种通用json数据修改方法、系统、电子设备及存储介质。

技术介绍

[0002]现有技术中,一个json格式的数据一般的形式有:普通字段,节点,数组,或者他们的组合;如果在编译过程中,想要针对一个json数据的某个部分进行修改,一般做法步骤为:首先,人工在json数据中定位出需要修改的数据位置,然后,用一个新值,替换需要修改的内容。比如需要修改“thisNode”里面的“nodeField2”字段内容,则需要先通过人工先找到“thisNode”的位置,然后再人工寻找“thisNode”里面的字段“nodeField2”;进而针对“nodeField2”字段的内容进行修改。
[0003]上述现有的修改方法,在具体的实现过程中,即先寻找“thisNode”,再寻找“nodeField2”,这个顺序必须由人工来进行确定,也就是查找过程需要固化下来,如果需要修改”nodeField1”,那么就必须重新固化一个新的过程,无法将一次修改一个字段的过程推广到一次修改多个字段中,更何况是一次修改多个不同位置的字段。
[0004]然而在具体的软件编码过程中,往往会面临使用者多次修改的情况,而多次修改均采用上述寻找并修改的方式,则过程较复杂,且往往也有许多使用者面临同时修改多个位置、多个数量的情况,同样需要依次寻找并修改,因此,在面对修改多个新的json数据的情况下,需要重新、反复实现上述的固化过程,修改过程相对较繁琐,修改效率往往较低。

技术实现思路

[0005]针对上述问题,本专利技术的主要目的在于设计一种通用json数据修改方法、系统、电子设备及存储介质,解决json数据同时修改任意位置和任意数量导致修改效率低的技术问题。
[0006]为了实现上述目的本专利技术采用如下技术方案:
[0007]一种通用json数据修改方法,用于内存介质中json数据的修改,该方法包括如下步骤:
[0008]步骤1:针对每一种原始json数据,制定json数据模板;
[0009]步骤2:根据待修改的json数据的字段和结构位置,组成临时json数据;
[0010]步骤3:根据步骤1制定的json数据模板,遍历原始json数据和临时json数据,并用临时json数据替换原始json数据,完成json数据的修改。
[0011]作为本专利技术进一步的描述,步骤1中,所述的json数据模板记录json数据的结构位置,以及结构之间的层级关系。
[0012]作为本专利技术进一步的描述,所述的json数据模板使用树型结构或key

value的形式保存json数据的结构位置;
[0013]其中,key为字典序的字符以及父节点的字段名拼接,value为本层json数据结构
中所有字段信息组成的数组,该数组信息中每个元素由四部分组成,分别为字段名或包含嵌套类型的字段名、下一层级的字典序字符、字段类型、字段是否为当前层级中的标识字段;并将上述的key值按照字典序的字符排列。
[0014]作为本专利技术进一步的描述,所述结构之间的层级关系为,通过遍历原始json数据,并判断json数据嵌套的层级;所述嵌套的层级关系为,原始的json数据层级为从第一层级开始,且原始json数据中每遇到一个数组或者一个子节点,则对应数组或子节点内部字段的嵌套层级加1。
[0015]作为本专利技术进一步的描述,步骤2中,临时json数据的字段数量和待修改的字段数量相同,且结构位置保持一致。
[0016]作为本专利技术进一步的描述,步骤3中,临时json数据替换原始json数据的过程,包括:
[0017]步骤3.1:将原始json数据和临时json数据作为参考传入算法中;其中,该算法为常规的遍历修改算法;
[0018]步骤3.2:加载步骤1中制定的json数据模板,并按照该模板的key值前缀字典序字符的顺序,依次读取key对应的value数组信息;
[0019]步骤3.3:依据步骤3.2读取的value数组信息,依次遍历每一个具体的json数据字段信息,若json数据字段信息为普通字段,则读取原始json数据以及临时json数据的字段值,如果原始json数据的字段值与临时json数据的字段值不同,则用临时json数据的字段值替换原始json数据的字段值;
[0020]步骤3.4:如果步骤3.3的json数据字段信息为节点或者数组嵌套类型,则读取原始json数据与临时json数据的嵌套结构,并作为参数,重新执行上述步骤3.1到步骤3.3的过程,并按照当前value数组信息中下一层级的字典序字符修改步骤3.2中key值前缀字典序字符和字段名的组合;
[0021]步骤3.5:当前key前缀字典序字符对应的value数组信息中每一个元素遍历结束后,则从当前的嵌套层中返回;若json数据模板全部遍历结束,则完成json数据的替换。
[0022]一种通用json数据修改系统,该系统包括模板制定单元、数据拼接单元和数据替换单元;
[0023]所述的模板制定单元,获取内存介质中的原始json数据,并基于原始json数据制定json数据模板;
[0024]所述的数据拼接单元,基于输入端需要对原始json数据修改的字段和结构位置,组成临时json数据;临时json数据与原始json数据的字段数量与结构位置保持一致;
[0025]其中,所述的模板制定单元和所述的数据拼接单元均连接到所述的数据替换单元,并将制定的json数据模板、原始json数据和临时json数据传入所述的数据替换单元;通过所述的的数据替换单元实现临时json数据对原始json数据的修改替换。
[0026]作为本专利技术进一步的描述,所述的数据替换单元,包括修改算法,基于该修改算法加载制定的json数据模板,对按照该模板读取原始json数据以及临时json数据的字段值,并用临时json数据的字段值替换原始json数据的字段值,实现json数据替换。
[0027]一种电子设备,包括:包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,所述存储器,用于存
储计算机程序;
[0028]所述处理器,用于通过运行所述存储器上所存储的所述计算机程序来执行上述json数据的修改方法。
[0029]一种计算机可读的存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述json数据的修改方法。
[0030]相对于现有技术,本专利技术的技术效果为:
[0031]本专利技术提供了一种通用json数据修改方法、系统、电子设备及存储介质,修改方法中,将原始json数据,制定json数据模板,并对针对要修改的json数据构建临时json数据,通过原始json数据与临时json数据的比对,将临时js本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通用json数据修改方法,用于内存介质中json数据的修改,其特征在于,该方法包括如下步骤:步骤1:针对每一种原始json数据,制定json数据模板;步骤2:根据待修改的json数据的字段和结构位置,组成临时json数据;步骤3:根据步骤1制定的json数据模板,遍历原始json数据和临时json数据,并用临时json数据替换原始json数据,完成json数据的修改。2.根据权利要求1所述的一种通用json数据修改方法,其特征在于:步骤1中,所述的json数据模板记录json数据的结构位置,以及结构之间的层级关系。3.根据权利要求2所述的一种通用json数据修改方法,其特征在于:所述的json数据模板使用树型结构或key

value的形式保存json数据的结构位置;其中,key为字典序的字符以及父节点的字段名拼接,value为本层json数据结构中所有字段信息组成的数组,该数组信息中每个元素由四部分组成,分别为字段名或包含嵌套类型的字段名、下一层级的字典序字符、字段类型、字段是否为当前层级中的标识字段;并将上述的key值按照字典序的字符排列。4.根据权利要求2所述的一种通用json数据修改方法,其特征在于:所述结构之间的层级关系为,通过遍历原始json数据,并判断json数据嵌套的层级;所述嵌套的层级关系为,原始的json数据层级为从第一层级开始,且原始json数据中每遇到一个数组或者一个子节点,则对应数组或子节点内部字段的嵌套层级加1。5.根据权利要求1所述的一种通用json数据修改方法,其特征在于:步骤2中,临时json数据的字段数量和待修改的字段数量相同,且结构位置保持一致。6.根据权利要求1所述的一种通用json数据修改方法,其特征在于:步骤3中,临时json数据替换原始json数据的过程,包括:步骤3.1:将原始json数据和临时json数据作为参考传入算法中;其中,该算法为常规的遍历修改算法;步骤3.2:加载步骤1中制定的json数据模板,并按照该模板的key值前缀字典序字符的顺序,依次读取key对应的value数组信息;步骤3.3:依据步骤3.2读取的value数组信息,依次遍历每一个具体的json数据字段信息,若json数据字段信息为普通字段,则读取原始json数据以及临时...

【专利技术属性】
技术研发人员:闫珂飞雷云飞谢娟敏张翼钟玲玉
申请(专利权)人:上海友道智途科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1