C#合并了两个几乎相同的JSON对象




不久前,我制作了一个函数,将JSON合并在一起。

我有一张看起来像这样的桌子,在这个例子中,它是通过把桌子上的"朋友"留在桌子上"人"来制作的:

Id
1 1 2

我会创建一个模型来比使用DataTable更容易地携带数据

public class RequestModel{
public int Id { get; set; }
public string Name { get; set; }
public string FriendName { get; set; }
public int FriendAge { get; set; }
}

然后您可以尝试使用lambda来制作它,使用GroupBy方法通过IdName进行分组。

string json = "[{"Id":1,"Name":"Danny","FriendName":"Jason","FriendAge":19},{"Id":1,"Name":"Danny","FriendName":"Cesie","FriendAge":18},{"Id":2,"Name":"Jason","FriendName":"Danny","FriendAge":19}]";
var req = JsonConvert.DeserializeObject<IEnumerable<RequestModel>>(json);
var res= req.GroupBy(x=> new {x.Id,x.Name})
.Select(x=> new Result{
Name =x.Key.Name,
Id = x.Key.Id,
Friends = x.Select(z=> new Friend(){
Name = z.FriendName,
Age =  z.FriendAge
}).ToArray()
});
var jsonResult = JsonConvert.SerializeObject(res);

相关内容

  • 没有找到相关文章

最新更新