В моем случае, удаляющем от Add& Удалите Программы, не работал. Вместо этого проблема происходила из-за недавно текущих исправлений, установленных посредством автоматических обновлений. Текущие исправления к VS, 2008 (в моем случае) имеет номер KB952241, таким образом, я удалил его использование, Добавляют/Удаляют, что Программы, проверяющие шоу, обновляют опцию. После того, как это был unistalled, проблема закончилась.
Вы можете использовать анонимный класс:
T DeserializeJson<T>(string s, T templateObj) {
return JsonConvert.Deserialize<T>(s);
}
, а затем в своем коде:
return DeserializeJson(jsonString, new { treeNode = new MyObject[0] }).treeNode;
К сожалению, JSON не поддерживает информацию о типе при сериализации, это чистый словарь объектов, а не полные данные класса. Вам нужно будет написать какое-то расширение, чтобы расширить поведение сериализатора и десериализатора JSON, чтобы поддерживать правильную сортировку типов.
При указании корневого типа граф объекта будет правильно отображен, если ожидаемые типы являются точными, а не производными.
Например, если у меня есть свойство как массив базового класса, и мое реальное значение может содержать производные дочерние классы любого типа. JSON не поддерживает его полностью, но веб-сервис (SOAP) позволяет сериализовать объекты с динамической типизацией.