Avalonia,使用 HttpClient 进行 API 请求的 Foreach

问题描述 投票:0回答:1

我目前有一个使用 Avalonia C# 发出的 API 请求,我设法返回整个 JSON 作为结果,但无法检索 foreach 中的每个元素。 这是当前代码:

// Get servers infos
private async Task GetServersInfos()
{

    using (var httpClient = new HttpClient())
    {
        using (var request = new HttpRequestMessage(new HttpMethod("GET"), "http://example.com/api"))
        {
            var response = await httpClient.SendAsync(request);

            if (response.IsSuccessStatusCode)
            {
                string jsonObject = JsonSerializer.Serialize(response.Content);
                var results = await response.Content.ReadAsStringAsync();

                foreach (var result in results)
                {
                    TestText.Text = result["name"];
                }

            }
        }
    }
}

JSON 结果:

{
    "1": {
        "name": "Example 1",
        "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit...",
    },
    "2": {
        "name": "Example 2",
        "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit...",
    }
}

但是我有以下错误:无法使用 [] 将索引应用于“char”类型的表达式

c# json wpf avaloniaui avalonia
1个回答
0
投票

ReadAsStringAsync
返回一个简单的字符串,而不是对象列表。 这就是为什么你不能迭代它。 您可以为您的内容创建一个类,并让序列化器创建您的类的实例列表,然后您可以在 foreach 中对其进行迭代。

© www.soinside.com 2019 - 2024. All rights reserved.