python 比較兩個json並返回差別

2021-08-03 15:02:36 字數 1425 閱讀 5223

現在要比較兩個json是否相等,若不同則返回差別

比如下面dict資料的對比:

dict1 = 

dict2 =

對比兩個dict是否相等

for src_list, dst_list in zip(sorted(dict1), sorted(dict2)):

ifstr(dict1[src_list]) != str(dict2[dst_list]):

print(src_list,dict1[src_list],dst_list,dict2[dst_list])

輸出為

如果資料格式為

dict1 = }

dict2 = }

此時需要使用遞迴函式進行處理

首先看乙個簡單的遞迴函式

def

fact

(n):

if n==1:

return

1else:

return n*fact(n-1)

對比這兩個dict:

def

cmp(src_data,dst_data):

if isinstance(src_data, dict):

"""若為dict格式"""

for key in dst_data:

if key not

in src_data:

print("src不存在這個key")

for key in src_data:

if key in dst_data:

thiskey = key

"""遞迴"""

cmp(src_data[key], dst_data[key])

else:

dic[key] = ["dst不存在這個key"]

elif isinstance(src_data, list):

"""若為list格式"""

if len(src_data) != len(dst_data):

print("list len: '{}' != '{}'".format(len(src_data), len(dst_data)))

for src_list, dst_list in zip(sorted(src_data), sorted(dst_data)):

"""遞迴"""

cmp(src_list, dst_list)

else:

if str(src_data) != str(dst_data):

print(src_data)

輸出為

班級優化

李四

python 比較兩個json並返回差別

轉 現在要比較兩個json是否相等,若不同則返回差別 比如下面dict資料的對比 dict1 dict2 對比兩個dict是否相等 for src list,dst list in zip sorted dict1 sorted dict2 if str dict1 src list str dic...

python比較兩個list

自己寫的,耗時很長。當兩個list是100000級別長度的資料時,需要好幾分鐘 if jpg not in list2 paython自帶方法。速度很快 list3 list set3 初始化資料 lista zhangsan lisi wangwu listb zhangsan lisi zhao...

比較兩個Json物件是否相等

1.先準備三個工具方法,用於判斷是否是物件型別,是否是陣列,獲取物件長度 function isobj object function isarray object function getlength object 2.準備兩個相同或不同的json物件 var jsonobja address 馬...