本文目錄一覽:
- 1、python3,如何對比2個結構一樣的json?
- 2、Python:比較兩個json串是否相等,是直接把它當成字符串來比較呢?還是json.loads(),轉化一下再比較
- 3、Python 有什麼好的辦法比較兩個 JSON list 的差異
- 4、兩個json比較
- 5、用python依次比較2個文件夾內的JSON文件的差異?
python3,如何對比2個結構一樣的json?
可以把json數據轉換成列表,然後利用for循環去比對兩個json結構之間的差異
把有差異的數據寫入一個新的文本文件
Python:比較兩個json串是否相等,是直接把它當成字符串來比較呢?還是json.loads(),轉化一下再比較
json本身就是字符串,是符合json格式的字符串。 所以,你說的,字符串轉json,就是不正確的描述。 一般正常的用法是: 涉及到,在json字符串,來自字符變量或文件內容,和不同類型的變量,之間的轉換。 變量轉json: json.dumps或json.dump json…
Python 有什麼好的辦法比較兩個 JSON list 的差異
那你可以包一個 python 對象再放進 set 裏面,這個 python 對象指出 json 在原 list 裏面的 index,這樣他們的 __hash__ 不一樣,甚至你還可以自己再重載一下 __hash__
兩個json比較
由於HashMap是無順序的,所以只要把這個json string轉換成HashMap之後,用Map.equals()就可以比較它們是否相同了。
不過轉換JSON挺麻煩的,如果用現成的包,如 這個。
那麼可以這麼做:
boolean compareJson(str1,str2) {
// 分別轉換兩個json string到json object
JSONObject json1 = new JSONObject(str1);
JSONObject json2 = new JSONObject(str2);
// 由於json object的tostring方法,是按指定的順序來輸出的,所以兩個相同的json,輸出的string應該相同。
if (json1.toString().equals(json2.toString()) return true;
return false;
}
用python依次比較2個文件夾內的JSON文件的差異?
這裡假設題目裏面提到的」單獨兩個JSON文件的比較方法「的函數是compare_two_files,它接受兩個文件的文件名作為參數。
from pathlib import Path
def compare_two_folders(from_folder, to_folder):
from_folder = Path(from_folder)
to_folder = Path(to_folder)
for json_file in from_folder.glob(‘*.json’):
json_file_name = json_file.name
json_file_to_compare = to_folder / f’a{json_file_name}’
compare_tow_files(json_file, json_file_to_compare)
原創文章,作者:TSJL,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/134757.html