我尝试比较两个通用列表并找到列表之间的差异。这些列表是递归的,因此一个分支可能有许多子项,依此类推。我想找到新的,更新的和删除的项目。我认为这是一个非常典型的问题,可能会有类似的问题,但如果我找不到这些问题。
所以我的列表是这样的(json格式,希望你明白了):
{
"Item": [{
"Name": "Nimi1",
"ItemId": "1",
"Item": [{
"Name": "Name1.1",
"ItemId": "2",
"ParentId": 1,
"Item": [{
"Name": "Name1.1.1",
"ParentId": 2,
"ItemId": "3",
"Item": []
},
{
"Name": "Name1.1.2",
"ParentId": 2,
"ItemId": "4",
"Item": []
}]
},
{
"Name": "Name1.2",
"ParentId": 1,
"ItemId": "5",
"Item": [{
"Name": "Name1.2.1",
"ItemId": "6",
"ParentId": 5,
"Item": []
}]
}]
}]
}
我还有其他基本结构相似的清单。我希望找到差异,例如当某些元素丢失或有新块或某些块已更改时。
我发现了非常相似的案例Saving changes only between two hierarchical List,但我认为它并不考虑递归。谁能帮我?