4

私はRestSharpを初めて使用します。Jsonメッセージを返すPythonで書かれたRestful Serviceがあります。RestSharp を使用して JSON メッセージをオブジェクトに逆シリアル化する C# クライアントを作成しました。

レスポンス内容は「\"[{\\"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