我希望能够计算两个数组之间的差异,例如下面的数据。
在一个阵列中添加或删除元素时发生的问题。如何判断一个元素是否添加到第二个数组的第1个人,是" new"而不是编辑当前的第1个元素。
我可以找到各种基于数组长度比较数组的内容,但没有关于内容的内容。
我找到的最接近的是DeepDiff库,但我无法处理其返回值以确定更改数组时的差异数。
真正的问题是数组的元素没有ID或唯一属性。 :/
[
{
"aclMatchType": "IP",
"aclName": "Test2",
"action": {
"deny": 0,
"dscp": "",
"tc": ""
},
"inbound": true,
"ipv4": {
"dstIpAddr": "",
"dstIpAddrMask": "",
"ipProtocol": "",
"srcIpAddr": "192.168.1.6",
"srcIpAddrMask": "255.255.255.0"
},
"mac": {
"dstMacAddr": "",
"dstMacAddrMask": "",
"srcMacAddr": "",
"srcMacAddrMask": ""
}
},
{
"aclMatchType": "IP",
"aclName": "Test4",
"action": {
"deny": 0,
"dscp": "",
"tc": ""
},
"inbound": true,
"ipv4": {
"dstIpAddr": "",
"dstIpAddrMask": "",
"ipProtocol": "",
"srcIpAddr": "192.168.1.10",
"srcIpAddrMask": "255.255.255.0"
},
"mac": {
"dstMacAddr": "",
"dstMacAddrMask": "",
"srcMacAddr": "",
"srcMacAddrMask": ""
}
}
]
答案 0 :(得分:0)
根据dandavis的建议,我能够使用odiff来涵盖大多数案例。就像他说的,90%差异。足够我的目的。