我有一个MVC模型,该模型根据用户输入生成JSON文件,这些文件用作自动化工作流程的一部分。我遇到的问题是弄清楚如何根据特定属性值更改序列化对象列表的顺序。
这是我模型的简化视图:
public class Ticket
{
public string TicketNumber { get; set; }
public string TicketName { get; set; }
public string ApplicationName { get; set; }
public IList<Jams> JamsList { get; set; }
}
public class RootObject
{
public Ticket ChangeTicket { get; set; }
}
public class JamsDestination
{
public string Dev { get; set; }
public string QA { get; set; }
public string Prod { get; set; }
}
public class Jams
{
public string TFSLocation { get; set; }
public string FileName { get; set; }
public string JamsType { get; set; }
public JamsDestination JamsLocation { get; set; }
}
(我正在控制器的post部分中使用Newtonsoft.Json和SerializeObject()函数)
JamsType是从sql表(变量,作业,触发器和Box)填充的下拉列表。我要尝试做的是确保按照以下顺序序列化任何卡纸更改(在列表中:JamsList),以确保
答案 0 :(得分:0)
我意识到,在执行序列化JSON文件之前,只需执行以下操作即可将Linq逻辑添加到我的控制器中:
ticket.JamsList = ticket.JamsList.OrderBy(jams => jams.JamsType == "Box").ToList();
实际上,所有这些只是对Jams更改列表进行重新排序以使其在序列化之前满足我的条件,而不是更改对序列表进行序列化的顺序(我认为需要执行的方式)。