Десериализуйте json с json.net c#

В моем случае, удаляющем от Add& Удалите Программы, не работал. Вместо этого проблема происходила из-за недавно текущих исправлений, установленных посредством автоматических обновлений. Текущие исправления к VS, 2008 (в моем случае) имеет номер KB952241, таким образом, я удалил его использование, Добавляют/Удаляют, что Программы, проверяющие шоу, обновляют опцию. После того, как это был unistalled, проблема закончилась.

5
задан 76mel 4 September 2009 в 10:06
поделиться

2 ответа

Вы можете использовать анонимный класс:

T DeserializeJson<T>(string s, T templateObj) {
    return JsonConvert.Deserialize<T>(s);
}

, а затем в своем коде:

return DeserializeJson(jsonString, new { treeNode = new MyObject[0] }).treeNode;
3
ответ дан 15 December 2019 в 06:31
поделиться

К сожалению, JSON не поддерживает информацию о типе при сериализации, это чистый словарь объектов, а не полные данные класса. Вам нужно будет написать какое-то расширение, чтобы расширить поведение сериализатора и десериализатора JSON, чтобы поддерживать правильную сортировку типов.

При указании корневого типа граф объекта будет правильно отображен, если ожидаемые типы являются точными, а не производными.

Например, если у меня есть свойство как массив базового класса, и мое реальное значение может содержать производные дочерние классы любого типа. JSON не поддерживает его полностью, но веб-сервис (SOAP) позволяет сериализовать объекты с динамической типизацией.

0
ответ дан 15 December 2019 в 06:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: