1

我得到以下 JSON,我试图使用 RestSharp 将其转换为业务对象

  {
  "valid":true,
  "data":[
    {
       "dealerId":"4373",
       "branchId":"4373",
    }
  ]
  }

我希望转换为:

public class Dealer
{
    public string dealerId ;
    public string branchId;
   }

但这失败了,尽管 JSON 很好:

        var client = new RestClient("http://www.????.com.au");
        var request = new RestRequest(string.Format("service/autocomplete/dealer/{0}/{1}.json", suburb.PostCode, suburb.City.Trim().Replace(" ", "%20")), Method.GET);
        var response2 = client.Execute<Dealer>(request);
        return response2.Data;
4

1 回答 1

2

您的业​​务对象与您返回的响应 JSON 不匹配。如果您希望您的响应序列化,您的 C# 对象将类似于

public class DealerResponse
{
    public bool valid { get;set; }
    List<Dealer> data { get;set; }
}

public class Dealer
{
    public string dealerId;         
    public string branchId;   
}

我没有测试过这段代码,但即使您只对“数据”中的信息感兴趣,您的响应 C# 对象仍然需要表示整个 JSON 响应才能正确序列化。

希望有帮助。

于 2012-09-05T03:26:35.813 回答