Ошибка сериализации RestSharp

Есть идеи, почему я получаю ошибку сериализации? Я пробовал это с другими веб-методами, и это сработало. Именно это.

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 (содержимое строки) в RestSharp.Deserializers.JsonDeserializer.Deserialize [T] (ответ IRestResponse) в RestSharp.RestClient.Deserialize [T] (запрос IRestRequest, необработанный IRestResponse)}


person user1688346    schedule 15.01.2013    source источник
comment
Json - это тип JsonArray, упомянутый в ошибке, и вы пытаетесь преобразовать его в словарь, или объект изменяет десериализацию, чтобы принять массив вместо объекта.   -  person Nikshep    schedule 15.01.2013


Ответы (1)


Похоже, что заказ - это зарезервированное слово. Я изменил его на SaleOrder, и это сработало отлично.

person user1688346    schedule 15.01.2013