You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中读取HTTP响应并提取用户名及对应积分

解决方案

1. 定义匹配JSON结构的实体类

首先需要创建与HTTP响应JSON结构对应的C#类,才能正确反序列化数据:

// 对应响应根对象的类
public class UserResponse
{
    public int _total { get; set; }
    public List<User> users { get; set; }
}

// 对应单个用户信息的类
public class User
{
    public string username { get; set; }
    public int points { get; set; }
}

2. 修改代码完成数据提取与存储

原代码直接将JSON反序列化为List<string>是错误的,因为响应根结构是对象而非字符串数组。修改后的代码如下:

List<string> data = new List<string>();

using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();

    // 反序列化为自定义的响应类
    var userResponse = JsonConvert.DeserializeObject<UserResponse>(body);

    // 遍历用户列表,将用户名和积分拼接后存入List<string>
    foreach (var user in userResponse.users)
    {
        string userInfo = $"用户名: {user.username}, 积分: {user.points}";
        data.Add(userInfo);
        Debug.Log(userInfo);
    }
}

说明

  • 原代码的错误在于试图将包含对象数组的JSON根对象直接反序列化为List<string>,这会导致反序列化失败。
  • 通过定义匹配的实体类,我们可以正确解析整个响应结构,再从中提取用户名和积分信息,拼接成字符串存入目标List<string>。

内容的提问来源于stack exchange,提问作者user19333311

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 00:46:01