我有两个json文件,我想获取一个包含差异的json。 重要的 是, 只 应显示 内容 的实际差异,而与更改某些元素的顺序无关。
最好的方法是什么?我正在寻找一种尽可能高效的解决方案,因为jsons可能包含大量数据,并且用户需要尽快完成工作。
json
注意:json可能包含以不同深度编码的数据。任何编程语言都可以,但是我希望可以在php中轻松实现的答案。
基本上,您想要的类似于array_diff_assoc,但适用于json对象,并且是递归的。
array_diff_assoc
array_diff由于引用问题,这些函数不是递归的:可以将数组的引用分配给该数组的条目,从而使数组无限递归。我认为使用json对象无法获得相同的情况,从而使递归函数安全。
array_diff
假设您希望计算对象A和对象B之间的差,并将结果存储在对象C中。原理是遍历A的每个字段(a foreach应该这样做),以及何时:
foreach
应遵守A的顺序。