【问题标题】:How do I grab a single attribute from a Collection of objects that I group into a list?如何从我分组到列表中的对象集合中获取单个属性?
【发布时间】:2018-06-21 06:45:39
【问题描述】:

我有两个列表,我正在尝试根据 Group => ID 和 Artist => GroupID 加入。

当我显示组时,我想从艺术家列表中显示组中的所有成员。

            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
                          };
            return Json(groupID);

当 JSON 数据在浏览器中呈现时,我从每个艺术家那里获取所有数据,我只想显示名称。见下文:

[{"group":"G-Unit","members":[{"artistName":"Lloyd Banks","re​​alName":"Christopher Lloyd","age":34,"hometown":"纽约市","groupId":2,"group":null},{"artistName":"The Game","re​​alName":"Jayceon Taylor","age":37,"hometown":"Compton" ,"groupId":2,"group":null},{"artistName":"50 Cent","re​​alName":"Curtis Jackson","age":41,"hometown":"New York City"," groupId":2,"group":null}]}]

提前感谢您的帮助!

【问题讨论】:

  • 注意:您的源不是 JSON,它是(加入的).NET 枚举或集合或数组。只有您的输出是 JSON。
  • 您说的完全正确,感谢您的澄清。

标签: c# json linq


【解决方案1】:

这应该可以...

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);

【讨论】:

  • 此行创建字符串列表,而不是成员列表,因此您必须这样做:Members.Select(e => new Member(){artistName = e.artistName})
  • 两种解决方案都很棒。非常感谢!
  • 对不起,不要发现这是匿名类型 :) 正确
  • @OzzyGonzalez 请记住将此答案选为“已接受的答案”。它将帮助其他有类似问题的人。
猜你喜欢
  • 1970-01-01
  • 2021-09-04
  • 2014-01-22
  • 2013-02-28
  • 1970-01-01
  • 2011-03-02
  • 2022-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多