我有代表我所选用户的字符串列表。
我想序列化一个JSON,其中一个属性是Selected。如果用户在List中,则为true,如果不在,则为false。
现在我有这个:
ViewBag.Json = JsonConvert.SerializeObject(new
{
Utilizadores = db.Utilizador.Select(u => new { Id = u.Id, Nome = u.Nome, Info = u.NumMecanografico, Selected = false })
});
最终结果示例:
我想要这样的东西,想象用户1和2都在列表中。我总共有4个用户。
Utilizadores = [Id:1, Nome: User1, Selected: true],[Id:2, Nome: User2, Selected: true],[Id:3, Nome: User3, Selected: false],[Id:4, Nome: User4, Selected: false]
像这样。
现在我不知道我怎么能在这里做到这一点。任何人都能解释一下吗?
答案 0 :(得分:1)
只需添加 Where 选择器。
ViewBag.Json = JsonConvert.SerializeObject(new
{
Utilizadores = db.Utilizador.Where(u => u.Selected).Select(u => u...)
});
答案 1 :(得分:1)
我解释了您的问题"您有List
个选定用户,因此如果用户在列表中,则JSON属性Selected
为真 强>"
IList<string> selectedUsers = ... //The list of selected usernames
ViewBag.Json = JsonConvert.SerializeObject(new
{
Utilizadores = db.Utilizador.Select(u => new { Id = u.Id, Nome = u.Nome, Info = u.NumMecanografico, Selected = selectedUsers.Contains(u.Nome) })
});