我有一个包含json字符串的字符串数组。是否可以识别并删除包含相同uid的所有记录?
{"object":"user","entry":[{"uid":"823602904340066","id":"823602904340066","time":1429276535,"changed_fields":["feed"]}]}
{"object":"user","entry":[{"uid":"10203227586595390","id":"10203227586595390","time":1429278537,"changed_fields":["feed"]}]}
{"object":"user","entry":[{"uid":"10203227586595390","id":"10203227586595390","time":1429278531,"changed_fields":["feed"]}]}
答案 0 :(得分:1)
单个项目始终是唯一的,重复发生在多个项目中。因此,首先将数据转换为列表
// convert a list, add values
List<myobject> array = JsonConvert.DeserializeObject<list><myobject>>(json);
// get the distinct items..
// use the .ToList() to convert it back to a list.
array = array.Distinct().ToList();
以上代码首先将json转换为对象列表。然后它将仅选择不同的项目,之后它将该非重复列表保存到实际列表中。您可以使用Lambda表达式向Distinct方法添加条件。