Я получаю этот ответ JSON от системы, к которой я подключаюсь, и пытаюсь найти лучший способ десериализации его в объект C #. В настоящее время я использую RestSharp , который довольно прост в использовании, но формат JSON немного сбивает меня с толку. Вот формат, в котором он выглядит следующим образом:
[
{"name": "Tickets:",
"schema": [
{"dataType": "string", "colName": "First", "idx": 0},
{"dataType": "string", "colName": "Second", "idx": 1},
{"dataType": "string", "colName": "Name", "idx": 2}
],
"data": [
["bill", "test", "joe"],
["bill2", "test2", "joe2"],
["bill3", "test3", "joe3"]
]
}
]
Вот мой текущий код:
var url = "http://myUrl:10111";
var client = new RestClient { BaseUrl = url };
var request = new RestRequest { Method = Method.GET, Resource = "/search?fmt=Json", RequestFormat = DataFormat.Json };
request.AddHeader("accept", "application/json");
var response = client.Execute(request);
var wptResponse = new JsonDeserializer().Deserialize(response);
return wptResponse;
, но, как указано выше, я пытаюсь найти правильный способ моделирования Объект TicketResults для поддержки десериализации этого сообщения выше.
В идеале я хотел бы что-то вроде этого:
public class TicketResults
{
public List Tickets {get;set;}
}
public class Ticket
{
public string First {get;set;}
public string Second {get;set;}
public string Name {get;set;}
}
и в этом примере выше получить три записи в коллекции билетов.
Кроме того, является ли приведенный выше формат JSON нормальным, поскольку я никогда не видел его разбитым на отдельные разделы схемы и данных (я вижу, где это могло бы сэкономить некоторое пространство, но в этом случае сообщения не такие большие)