本文目录一览:
- 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)