我有一个Json对象
{'name':'NARM','options':['N','A', 'P']} (da1)
和另一个
{'name':'NARM','options':['N','A']} (da2)
我想找到差异,理想情况下我想回归
{'name':'NARM','options':['P']}
。
我非常简单地尝试var missing = da1.execpt(da2);
它似乎正在返回所有的da1
有什么想法吗?
答案 0 :(得分:2)
如果在json中的数组上使用 Except 会更容易
string json1 = @"{'name':'NARM','options':['N','A', 'P']}";
string json2 = @"{'name':'NARM','options':['N','A']}";
var j1 = JObject.Parse(json1);
var j2 = JObject.Parse(json2);
var diff = j1["options"].Select(x => (string)x)
.Except(j2["options"].Select(x => (string)x))
.ToList();