C# JsonSerializer。反序列化多次使用
我有这个密码C# JsonSerializer。反序列化多次使用,c#,json,linq,serialization,json-deserialization,C#,Json,Linq,Serialization,Json Deserialization,我有这个密码 IssueRequest issueRequest = new IssueRequest { hotelCode = model.Criteria.Code, rooms = model.BookingOption.Rooms.Select(a => new RequestIssue { code = JsonSerializer.Deser
IssueRequest issueRequest = new IssueRequest
{
hotelCode = model.Criteria.Code,
rooms = model.BookingOption.Rooms.Select(a => new RequestIssue
{
code = JsonSerializer.Deserialize<MyBag>(a.HotelRoom.myBag).code,
contractCode = JsonSerializer.Deserialize<MyBag>(a.HotelRoom.myBag).contractCode,
mealPlanCode = a.HotelRoom.MealPlan.Code,
MyData = new Rooms
{
RoomCode = JsonSerializer.Deserialize<MyBag>(a.Room.myBag).code,
}
}).ToArray()
};
我使用了三次JsonSerializer.Deserialize
您是否有改进此功能的想法?您可以使用:
因为房间代码是a。房间而不是酒店房间@PatrickBeynio,不,OP不是,OP使用的是simple,其中有一个新的表达式。是的,刚刚注意到:但是他仍然可以把变量放在lambda之外,所以就在他的代码上面。但是现在这个问题对我来说更有意义了,很高兴它解决了!
rooms = model.BookingOption.Rooms.Select(a =>
{
var deserialized = JsonSerializer.Deserialize<MyBag>(a.HotelRoom.myBag);
return new RequestIssue
{
code = deserialized.code,
contractCode = deserialized.contractCode,
mealPlanCode = a.HotelRoom.MealPlan.Code,
MyData = new Rooms
{
RoomCode = JsonSerializer.Deserialize<MyBag>(a.Room.myBag).code,
}
};
})
.ToArray()