4

我是 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; }
}

关于反序列化为什么失败的任何想法?先感谢您!

4

0 回答 0