我是 RestSharp 的新手。我在 python 中有一个 Restful Service writtein,它返回一条 Json 消息。我使用 RestSharp 编写了一个 C# 客户端,将 json 消息反序列化为对象。
响应内容为 "\"[{\\"coupon\\": 4.5, \\"cusip\\": \\"912810QB7\\", \\"currface\\": 1000000, \\"origface\ \": 1000000}]\""
response.data 为空。
响应对象中的内部异常是“无法将 'System.String' 类型的对象转换为 'System.Collections.Generic.IDictionary`2[System.String,System.Object]'。”
以下是我的代码:
public class QuartzServiceAdapter
{
const string BaseUrl = "http://localhost:7666/ahs/";
public QuartzServiceAdapter() { }
public T Execute<T>(RestRequest request) where T : new()
{
var client = new RestClient();
client.BaseUrl = BaseUrl;
var response = client.Execute<T>(request);
return response.Data;
}
public List<RootObject> GetBond()
{
var request = new RestRequest(Method.GET);
request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; };
request.Resource = "getabond";
//request.RootElement = "RootObject";
return Execute<List<RootObject>>(request);
}
}
我使用http://json2csharp.com/创建了以下对象
public class RootObject
{
public double coupon { get; set; }
public string cusip { get; set; }
public int currface { get; set; }
public int origface { get; set; }
}
关于反序列化为什么失败的任何想法?先感谢您!