比较两个jsons文件和产生的json差异

时间:2013-07-23 05:26:36

标签: python json file comparison

我正在尝试比较两个文件,每一行都是JSON格式。我需要比较两个文件之间的每一行,并且应该返回差异。因为文件太大而且我无法读取和比较每一行。请建议我这样做的一些优化方法。

2 个答案:

答案 0 :(得分:3)

两种可能的方式:

  1. 使用Josh发布的评论中提到的技术。
  2. 使用此处提到的技术: how to compare 2 json in python
  3. 鉴于您有一个大文件,最好使用第1点中描述的difflib技术。

    根据对以下回答的回复进行修改

    经过一些研究,似乎处理大数据有效负载的最佳方法是以流方式处理此有效负载。通过这种方式,我们可以确保快速处理数据,同时牢记软件的内存使用情况和性能。

    请参阅使用Python讨论Streaming JSON数据对象的this链接。类似地看一下ijson - 这是python中基于迭代器的JSON解析/处理库。

    希望这有助于您找到一个能够解决您的用例的合适的库

答案 1 :(得分:1)

这似乎是一个不错的开始:https://github.com/ZoomerAnalytics/jsondiff

>>> pip install jsondiff
>>> from jsondiff import diff
>>> diff({'a': 1, 'b': 2}, {'b': 3, 'c': 4}, syntax='symmetric')
{insert: {'c': 4}, 'b': [2, 3], delete: {'a': 1}}

我还将在当前项目中进行尝试,我将在进行过程中尝试维护更新和编辑。