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

在C#中解析REST API返回的JSON文件夹列表获取id问题

问题分析与解决方案

你的JSON返回结果是数组结构(用[]包裹),但你用了JObject.Parse来解析单个JSON对象,这是导致失败的核心原因。下面提供两种可行的解决方法:

方法一:直接用JArray提取所需字段

使用JArray.Parse解析数组,然后遍历每个元素提取id和name:

// 获取API返回的JSON内容
var jsonContent = ((RestSharp.RestResponseBase)resultat.Value).Content;
// 解析JSON数组
var folderArray = JArray.Parse(jsonContent);
// 提取每个文件夹的id和name,转换成匿名对象列表
var folderInfoList = folderArray.Select(folder => new {
    Id = (int)folder["id"],
    Name = (string)folder["name"]
}).ToList();

方法二:创建实体类进行强类型反序列化

这种方式类型更安全,便于后续维护:

  1. 定义文件夹实体类(只保留你需要的字段即可):
public class Folder
{
    public int Id { get; set; }
    public string Name { get; set; }
    // 如果后续需要其他字段,比如owner、creation等,直接在这里添加对应属性即可
}
  1. 反序列化JSON数组为实体类列表:
var jsonContent = ((RestSharp.RestResponseBase)resultat.Value).Content;
var folderList = JsonConvert.DeserializeObject<List<Folder>>(jsonContent);
// 访问示例:遍历列表获取每个文件夹的id和name
foreach(var folder in folderList)
{
    Console.WriteLine($"文件夹ID:{folder.Id},名称:{folder.Name}");
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 12:21:30