【问题标题】:RestSharp returning an empty array to json deserializeRestSharp返回一个空数组到json反序列化
【发布时间】:2014-04-05 22:24:26
【问题描述】:

我在我的 api 上运行 RestSharp 请求时遇到问题。我得到的内容响应是一个空数组。当我尝试将值发送到我的模型时,为什么这会是空的? (当我运行 get 用户时它似乎工作正常,我认为这可能与使用 IEnumerable 有关)

这是我的 RestSharp 请求:

var request = new RestRequest("/problems/", Method.GET);
request.AddHeader("id-header", id);
request.RequestFormat = DataFormat.Json;

var response = client.Execute(request) as RestResponse;

List<MyModel> d = JsonConvert.DeserializeObject<List<MyModel>>(response.Content);

return View(d);

这是我的 API 中的方法:

[ResponseType(typeof(ProblemModel))]
public IQueryable<ProblemModel> GetProblems()
{
    var problems = User.Companies
                       .SelectMany(c => c.Projects)
                       .SelectMany(p => p.Problems)
                       .AsQueryable<Problem>()
                       .Select(factory.AsProblemModel);

    return problems;
}

RestSharp 正在使用我的模型:

public class MyModel
{
    public int Id { get; set; }
    public string Title { get; set; }
    public string Description { get; set; }
    public Nullable<int> AssignedToId { get; set; }
    public int ProjectId { get; set; }
}

【问题讨论】:

  • 确保正确标记问题。您不仅在使用 RestSharp,而且还在使用 JSON.Net。

标签: c# asp.net json json.net restsharp


【解决方案1】:

我不知道 restSharp,但 GetDefects() 返回 IEnumerable 而不是 IQueryable 看起来更自然

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    • 1970-01-01
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    相关资源
    最近更新 更多