Python比較2個json資料是否相等

2021-10-19 13:59:13 字數 1770 閱讀 9775

1、json資料轉換成字典

dict1 = json.load(load_f1)

dict2 = json.load(load_f2)

2、將兩個字典按key排好序,然後使用zip()函式將兩個字典對應的key打包成元組。比較對應的key的value是否相等。

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]

)

zip() 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組。

如果資料格式為:

dict1 =

}dict2 =

}

使用遞迴函式進行處理

'''

'''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:

"""遞迴"""

cmp(src_data[key]

, dst_data[key]

)else

:print

("dst不存在這個key"

)elif

isinstance

(src_data,

list):

"""若為list格式"""

iflen

(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)

dict1 =

}dict2 =

}cmp

(dict1, dict2)

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 比較兩個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 檔案比較 python 2個檔案比對

有兩個檔案內容分別如下檔案asaplag 1 512.1732createsubscriber inte ce zx 112.12.3.81 28 creategroup inte ce zx3 lag 5 createsaplag 1 512.1714createsubscriber inte c...