Я пытаюсь десериализовать часть запроса с помощью специального сериализатора с помощью RestSharp. Я создаю новый клиент отдыха и добавляю мой клиент Serializer
protected void SetJsonHandler(IRestClient client)
{
var jsonHandlerType = "application/json";
client.ClearHandlers();
var jsonDeserializer = new JsonNetDeseralizer(JsonSettings);
client.AddHandler(jsonHandlerType, jsonDeserializer);
}
У меня есть запрос на получение аккаунта, который выглядит так:
public List<Account> GetAccounts()
{
var request = new RestRequest("accounts/", Method.GET, DataFormat.Json);
var response = this._client.Execute<List<Account>>(request);
this.HandleKnownExceptions(response);
return response.Data;
}
У меня есть модели, которые соответствуют именам свойств
public class Balence
{
public Double Amount { get; set; }
public Currency Currency { get; set; }
}
public class Account
{
public string Id { get; set; }
public string Name { get; set; }
public bool Primary { get; set; }
public AccountType Type { get; set; }
public Balence Balence { get; set; }
public DateTime CreatedAt { get; set; }
}
но они не будут отображаться, потому что модели вложены в свойство данных:
{
"pagination":{
"ending_before":null,
//...
},
"data":[
{
"id":"gje99c1e-7081-5784-9a1e-4p302b92312b",
"name":"ETH Wallet",
"primary":false,
"type":"wallet",
"balance":{
"amount":"0.97845347",
"currency":"ETH"
},
"created_at":"2017-10-01T16:50:51Z",
"resource":"account",
}],
}
EDIT
десериализатор Json:
public class JsonNetDeseralizer : IDeserializer
{
private readonly JsonSerializerSettings settings;
public string RootElement { get; set; }
public string Namespace { get; set; }
public string DateFormat { get; set; }
public JsonNetDeseralizer(JsonSerializerSettings settings)
{
this.settings = settings;
}
public T Deserialize<T>(IRestResponse response)
{
return JsonConvert.DeserializeObject<T>(response.Content, settings);
}
}
Я бы предпочел не создавать фиктивную модель со свойством данных, чтобы иметь ее карту. Есть ли простой способ настроить Rest Sharp, Json.Net для сопоставления свойства данных с моделями в