System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种JSON合并方法、装置、电子设备及存储介质制造方法及图纸_技高网

一种JSON合并方法、装置、电子设备及存储介质制造方法及图纸

技术编号:40949297 阅读:5 留言:0更新日期:2024-04-18 20:23
本申请公开了一种JSON合并方法、装置、电子设备及存储介质,涉及数据处理技术领域。该方法包括:获取待合并的第一JSON数据和第二JSON数据后,可根据该第一JSON数据中当前的第一目标key,在合并策略集合中进行查询,若查询到该第一目标key的目标合并策略,则可直接采用该目标合并策略,针对性的对该第一目key对应的第一value与该第二目标key对应的第二value执行第一合并操作,若未查询到该第一目标key的目标合并策略,则可采用配置的默认合并策略,对该第一目key对应的第一value与第二目标key对应的第二value执行第二合并操作,对未指定合并策略的键值对添加默认合并策略。

【技术实现步骤摘要】

本申请涉及数据处理,尤其涉及一种json合并方法、装置、电子设备及存储介质。


技术介绍

1、随着云计算技术的快速发展,以及对数据智能分析的需求飙升,数据处理面临着巨大挑战。

2、鉴于此,提出了一种轻量级的数据交换格式,例如,js对象简谱(javascriptobject notation,json),它具有简洁的语法和灵活的自描述能力,被广泛应用于各互联网业务。

3、在数据处理过程中,往往需要对两个json数据进行合并,从而满足不同的业务处理流程、不同差异的需求。目前,针对两个json数据进行合并时,主要采用全量覆盖合并的方式,即两个json数据中相同的键只会全部保留较新的值或全部保留较老的值。然而,这种方式较为单一,如果json数据中的每个键值对都有不同的取舍需求,该合并方式并不能适用。


技术实现思路

1、本申请提供了一种json合并方法、装置、电子设备及存储介质,用以提高json数据合并的适用性。

2、第一方面,提供一种json合并方法,包括:

3、获取待合并的第一json数据和第二json数据;其中,所述第一json数据中包括有n个第一key,所述第二json数据中包括有m个第二key,所述n和所述m均为大于0的整数;

4、根据所述第一json数据中当前的第一目标key,在合并策略集合中进行查询,确定是否有所述第一目标key的目标合并策略;其中,所述第一目标key为所述n个第一key中的任意一个;

5、若是,则根据所述目标合并策略,在所述m个第二key中确定与所述第一目标key关联的第二目标key,并对所述第一目key对应的第一value与所述第二目标key对应的第二value执行第一合并操作;

6、若否,则根据配置的默认合并策略,对所述第一目key对应的第一value与所述第二目标key对应的第二value执行第二合并操作。

7、可选的,所述合并策略集合中包括以下至少一种合并策略:

8、选取所述第一json数据中key对应的value;

9、选取所述第二json数据中key对应的value;

10、所述第一json数据和所述第二json数据中相同的key,选取所述第一json数据中key对应的value,不同的key取并集;

11、所述第一json数据和所述第二json数据中相同的key,选取所述第二json数据中key对应的value,不同的key取并集;

12、将所述第一json数据中key所在的数组与所述第二json数据中key所在的数组进行拼接;

13、按照template语法合并所述第一json数据和所述第二json数据。

14、可选的,所述对所述第一目key对应的第一value与所述第二目标key对应的第二value执行第一合并操作,包括:

15、当所述目标合并策略为选取所述第一json数据中key对应的value时,将所述第二目标key对应的第二value替换成所述第一value;或者当所述目标合并策略为选取所述第二json数据中key对应的value时,将所述第一目标key对应的第一value替换成所述第二value。

16、可选的,所述对所述第一目key对应的第一value与所述第二目标key对应的第二value执行第一合并操作,包括:

17、当所述目标合并策略为所述第一json数据和所述第二json数据中相同的key,选取所述第一json数据中key对应的value,不同的key取并集时,若确定出所述第一目标key与所述第二目标key相同,则将所述第二目标key对应的第二value替换成所述第一value,否则,将所述第一目标key和所述第一value,以及所述第二目标key和所述第二value均保留;或者当所述目标合并策略为所述第一json数据和所述第二json数据中相同的key,选取所述第二son数据中key对应的value,不同的key取并集时,若确定出所述第一目标key与所述第二目标key相同,则将所述第一目标key对应的第一value替换成所述第二value,否则,将所述第一目标key和所述第一value,以及所述第二目标key和所述第二value均保留。

18、可选的,所述对所述第一目key对应的第一value与所述第二目标key对应的第二value执行第一合并操作,包括:

19、当所述目标合并策略为将所述第一json数据中key所在的数组与所述第二json数据中key所在的数组进行拼接时,获取所述第一目标key在所述第一json数据所在的第一数组,以及所述第二目标key在所述第二json数据中所在的第二数组,并将所述第一数组与所述第二数组合并成一个数组;或者

20、当所述目标合并策略为按照template语法合并所述第一json数据和所述第二json数据时,按照所述template语法定义的语法规则,合并所述第一目key对应的第一value与所述第二目标key对应的第二value。

21、可选的,所述获取待合并的第一json数据和第二json数据之后,还包括:

22、分别对所述第一json数据和所述第二json数据进行预处理,得到预处理后的第一json数据,以及预处理后的第二json数据;

23、其中,所述预处理后的第一json数据中至少包括所述n个第一key各自对应的路径、value、是否定义value,所述预处理后的第二json数据中至少包括所述m个第二key各自对应的路径、value、是否定义value。

24、本申请实施例中,由于获取待合并的第一json数据和第二json数据后,可根据该第一json数据中当前的第一目标key,在合并策略集合中进行查询,若查询到该第一目标key的目标合并策略,则可直接采用该目标合并策略,针对性的对该第一目key对应的第一value与该第二目标key对应的第二value执行第一合并操作,因此相较于现有技术,支持自定义键值对的合并策略,可满足复杂关系的json数据之间的合并,提高了json数据合并的适用性;进一步,若未查询到该第一目标key的目标合并策略,则可采用配置的默认合并策略,对该第一目key对应的第一value与第二目标key对应的第二value执行第二合并操作,对未指定合并策略的键值对添加默认合并策略,使得合并后的数据更为简洁。

25、第二方面,提供一种json合并装置,包括:

26、数据获取模块,用于获取待合并的第一json数据和第二json数据;其中,所述第一json数据中包括有n个第一key,所述第二json数据中包括有m个第二key,所述n和所述m均为大于0的整数;

27、遍历模块,用于根据所述第一json数据中当前的第一目标key,在合并策略集合中进行查询,确定是否有所述第一目标ke本文档来自技高网...

【技术保护点】

1.一种JSON合并方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述合并策略集合中包括以下至少一种合并策略:

3.如权利要求2所述的方法,其特征在于,所述对所述第一目key对应的第一value与所述第二目标key对应的第二value执行第一合并操作,包括:

4.如权利要求2所述的方法,其特征在于,所述对所述第一目key对应的第一value与所述第二目标key对应的第二value执行第一合并操作,包括:

5.如权利要求2所述的方法,其特征在于,所述对所述第一目key对应的第一value与所述第二目标key对应的第二value执行第一合并操作,包括:

6.如权利要求1-5任一项所述的方法,其特征在于,所述获取待合并的第一JS对象简谱JSON数据和第二JSON数据之后,还包括:

7.一种JSON合并装置,其特征在于,包括:

8.如权利要求7所述的装置,其特征在于,其特征在于,所述合并策略集合中包括以下至少一种合并策略:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法步骤。

...

【技术特征摘要】

1.一种json合并方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,所述合并策略集合中包括以下至少一种合并策略:

3.如权利要求2所述的方法,其特征在于,所述对所述第一目key对应的第一value与所述第二目标key对应的第二value执行第一合并操作,包括:

4.如权利要求2所述的方法,其特征在于,所述对所述第一目key对应的第一value与所述第二目标key对应的第二value执行第一合并操作,包括:

5.如权利要求2所述的方法,其特征在于,所述对所述第一目key对应的第一value与所述第二目标k...

【专利技术属性】
技术研发人员:黄虹鲍立焕高伟周明伟
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:

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

1