C# 如何从我分组到列表中的对象集合中获取单个属性?
我有两个列表,我正试图加入基于组=>ID和艺术家=>GroupID的列表 当我显示组时,我希望显示艺术家列表中组中的所有成员 当JSON数据在浏览器中呈现时,我从每个艺术家那里获取所有数据,我只想显示名称。见下文: [{“组”:“G-Unit”,“成员”:[{“艺人名”:“劳埃德银行”,“真名”:“克里斯托弗·劳埃德”,“年龄”:34,“家乡”:“纽约市”,“groupId”:2,“group”:null},{“艺人名”:“游戏”,“真名”:“杰森·泰勒”,“年龄”:37,“家乡”:“康普顿”,“groupId”:2,“group”:null},{“艺人名”:“50美分”,“真名”:“Curtis Jackson”,“年龄”:41,“家乡”:“纽约市”,“groupId:2,“group:null}]}] 提前感谢您的帮助 这应该行得通C# 如何从我分组到列表中的对象集合中获取单个属性?,c#,json,linq,C#,Json,Linq,我有两个列表,我正试图加入基于组=>ID和艺术家=>GroupID的列表 当我显示组时,我希望显示艺术家列表中组中的所有成员 当JSON数据在浏览器中呈现时,我从每个艺术家那里获取所有数据,我只想显示名称。见下文: [{“组”:“G-Unit”,“成员”:[{“艺人名”:“劳埃德银行”,“真名”:“克里斯托弗·劳埃德”,“年龄”:34,“家乡”:“纽约市”,“groupId”:2,“group”:null},{“艺人名”:“游戏”,“真名”:“杰森·泰勒”,“年龄”:37,“家乡”:“康普顿”,
var groupID = from Group in allGroups
join Artist in allArtists
on Group.Id equals Artist.GroupId
into Members
where Group.Id == id
select new
{
Group = Group.GroupName,
Members = Members.Select(e => e.artistName)
};
return Json(groupID);
注意:您的源代码不是JSON,而是(joined).NET可枚举项或集合或数组。只有您的输出是JSON。您完全正确,感谢您的澄清。此行创建字符串列表,而不是成员列表,因此您必须这样做:
members.Select(e=>newmember(){artistName=e.artistName})
这两种解决方案都很好。非常感谢你!抱歉,未捕获此为匿名类型:)Correct@OzzyGonzalez请记住选择此答案作为“已接受答案”。它将帮助其他有类似问题的人。
var groupID = from Group in allGroups
join Artist in allArtists
on Group.Id equals Artist.GroupId
into Members
where Group.Id == id
select new
{
Group = Group.GroupName,
Members = Members.Select(e => e.artistName)
};
return Json(groupID);