У меня возникли проблемы с десериализацией массива смешанных типов JSON с использованием класса DataContractJsonSerializer. Я потратил кучу времени на поиски решения безрезультатно, поэтому я решил пойти дальше и спросить здесь.
По сути, я получаю строку JSON, подобную приведенной ниже. Я хотел бы получить массив для десериализации в список, где позиция 0 имеет Int32, позиция 1 имеет String, а позиция 2 имеет экземпляр моего пользовательского класса.
[
2,
"Mr. Smith",
{
"num":169,
"name":"main street",
"state":66
}
]
Если я просто создам сериализацию так:
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(List<object>))
На самом деле я получаю Int32 в позиции 0 и String в позиции 1. Однако в позиции 2 я просто получаю нулевой объект.
Кто-нибудь знает, возможно ли то, что я пытаюсь сделать? У меня нет контроля над структурой JSON, которую я потребляю. Я хотел бы сделать это без использования сторонних сборок, если это возможно.