C# Can';C中的t过滤器JSON#

C# Can';C中的t过滤器JSON#,c#,json,.net,xamarin,.net-core,C#,Json,.net,Xamarin,.net Core,我正试图通过名称过滤连接的id,例如返回连接的id,其中名称等于12345678 我能够得到所有的记录以及id和name的值 但是,我只想对其进行归档,例如,如果名称等于12345678,我怎么可能只获取记录的id?我写了下面的代码(我知道这很愚蠢),它会返回所有记录 代码 public class Alias { public string name { get; set; } } public class Connections { public Alias alias {

我正试图通过
名称
过滤连接的
id
,例如返回连接的
id
,其中
名称
等于12345678

我能够得到所有的记录以及
id
name
的值

但是,我只想对其进行归档,例如,如果
名称
等于12345678,我怎么可能只获取记录的
id
?我写了下面的代码(我知道这很愚蠢),它会返回所有记录

代码

public class Alias
{
    public string name { get; set; }
}

public class Connections
{
    public Alias alias { get; set; }
    public string id { get; set; }
}

public class RootObject
{
    public List<Connections> connections { get; set; }
} 

    HttpClient hTTPClient = new HttpClient();

    UserID = "12345678";

    Uri getConnections = new Uri(string.Format("http://0.0.0.0:0000/getConnections"));
    HttpResponseMessage restponseConnections = await hTTPClient.GetAsync(getConnections);
    string contentConnections = await restponseConnections.Content.ReadAsStringAsync();
    RootObject obj = JsonConvert.DeserializeObject<RootObject>(contentConnections);

    foreach (Connections i in obj.connections)
    {
        if(!(i.alias.name == UserID))
        {
            Console.WriteLine(i.id);
        }
    }
使用LINQ

using System.Linq;
...
var list = obj.connections.Where(c => c.alias.name == "xyz").ToList();

在您的情况下,假设您想要获得1条记录,我建议您使用LINQ

using System.Linq;

//Rest of your code
var recId = obj.connections.Where(c => c.alias.name == "1234567").FirstOrDefault();

API是你的吗?更好的方法是在API端进行过滤。应该是
obj
使用obj.Connections使用.ToList()而不是.ToList()。您是否确实有任何数据具有
name=“xyz”
?这将列出数据中的所有“name”值-
foreach(obj.Connections中的连接i)控制台。WriteLine(i.alias.name)
using System.Linq;

//Rest of your code
var recId = obj.connections.Where(c => c.alias.name == "1234567").FirstOrDefault();