python 比較兩個json並返回差別

2021-08-29 02:17:09 字數 1301 閱讀 7534

《轉》

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

比如下面dict資料的對比:

dict1 =

dict2 =

對比兩個dict是否相等

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

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

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

輸出為name 班級優化 name 班級優化2

如果資料格式為

dict1 = }

dict2 = }

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

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

def fact(n):

if n==1:

return 1

else:

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 ifstr dict1 src list str dict2 ...

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 馬...