1

シリアル化エラーが発生する理由はありますか?他のWebメソッドで試してみましたが、うまくいきました。まさにこの特定。

public T Execute<T>(RestRequest request) where T : new()
    {
        var client = new RestClient
            {BaseUrl = BaseUrl, Authenticator = new HttpBasicAuthenticator(AccountSid, SecretKey)};

        var response = client.Execute<T>(request);

        if (response.ErrorException != null)
        {
            throw response.ErrorException;
        }
        return response.Data;
    }

これがオブジェクトです。

 public class Order
{
    public Order() { }
    public string ProductName { get; set; }
    public double SoldPrice { get; set; }
    public double Fees { get; set; }
    public String BuyerEmail { get; set; }
    public String BuyerName { get; set; }
}

これは私のJSONです。

"[{\"ProductName\":\"Demo  Hinges\",\"SoldPrice\":700.0,\"Fees\":21.0,\"Size\":\"\",\"BuyerEmail\":\"\",\"BuyerName\":\"\"}]"

このエラーが発生します。

System.InvalidCastException:タイプ'RestSharp.JsonArray'のオブジェクトをタイプ'System.Collections.Generic.IDictionary`2 [System.String、System.Object]'にキャストできません。RestSharp.Deserializers.JsonDeserializer.FindRoot(String content)at RestSharp.Deserializers.JsonDeserializer.Deserialize [T](IRestResponse response)at RestSharp.RestClient.Deserialize [T](IRestRequest request、IRestResponse raw)}

4

1 に答える 1

0

Order は予約語のようです。それを SaleOrder に変更したところ、魅力的に機能しました。

于 2013-01-15T18:29:51.013 に答える