小编kew*_*iev的帖子

python中的多级JSON diff

请链接我回答如果已经回答,我的问题是我想获得多级json的差异,这是无序的.

x=json.loads('''[{"y":2,"x":1},{"x":3,"y":4}]''')
y=json.loads('''[{"x":1,"y":2},{"x":3,"y":4}]''')
z=json.loads('''[{"x":3,"y":4},{"x":1,"y":2}]''')

import json_tools as jt
import json_delta as jd


print jt.diff(y,z)
print jd.diff(y,z)
print y==z
print x==y
Run Code Online (Sandbox Code Playgroud)

输出是

[{'prev': 2, 'value': 4, 'replace': u'/0/y'}, {'prev': 1, 'value': 3, 'replace': u'/0/x'}, {'prev': 4, 'value': 2, 'replace': u'/1/y'}, {'prev': 3, 'value': 1, 'replace': u'/1/x'}]
[[[2], {u'y': 2, u'x': 1}], [[0]]]
False
True
Run Code Online (Sandbox Code Playgroud)

我的问题是如何让y和z相等,或者如果存在实际差异,则取决于JSON的非顺序.

一种无序的词典列表,但我正在寻找一些水平证明的东西,列表/词典的列表/词典......

python diff json compare unordered

2
推荐指数
3
解决办法
9146
查看次数

标签 统计

compare ×1

diff ×1

json ×1

python ×1

unordered ×1