В C # как мне моделировать объект JSON с несколькими вложенными массивами?

Я получаю этот ответ 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 нормальным, поскольку я никогда не видел его разбитым на отдельные разделы схемы и данных (я вижу, где это могло бы сэкономить некоторое пространство, но в этом случае сообщения не такие большие)

8
задан leora 12 August 2014 в 03:30
поделиться