Что лучше использовать: Convert.ToX или X.Parse (…)?

Я использую отражение для создания некоторых объектов. Значения, которые я устанавливаю, считываются из файла, поэтому они ...

Когда я могу вызвать сторонний api и вернуть данные одного класса, все десериализуется нормально с помощью этого кода

TheUser me = jsonSerializer.Deserialize(response, typeof(TheUser)) as TheUser

Проблема возникает, когда я пытаюсь десериализовать содержимое ответа JSON, которое представляет собой массив, например

{
   "data": [
      {
         "name": "A Jones",
         "id": "500015763"
      },
      {
         "name": "B Smith",
         "id": "504986213"
      },
      {
         "name": "C Brown",
         "id": "509034361"
      }
   ]
}

Я могу заставить сериализацию работать только в том случае, если я использую настраиваемый класс-оболочку вокруг элемента «данные», и этот член должен иметь тип List . Если он имеет их как тип List , я получаю ArgumentException из метода JsonParser DesializeType .

Первоначально я пытался сериализовать без типа упаковки, например this

List<TheUser> freinds = jsonSerializer.Deserialize(response, typeof(List<TheUser>)) as List<TheUser>;

, но это просто возвращает мне пустую коллекцию. Конечно, я должен иметь возможность десериализации массива в строго типизированный список.

43
задан jgauffin 8 August 2014 в 05:56
поделиться