мне нужно создать несколько полиморфных типов, используя $type
свойство в формате JSON, поэтому я добавил пользовательские настройки к десериализатору:Как обрабатывать создание массива с помощью пользовательских настроек JsonSerializerSettings?
var jsonSerializerSetting = new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.Auto
};
однако теперь с настройками, заданными я не могу десериализацию массивов больше и что-то вроде этого:
var arr = (string[])JsonConvert.DeserializeObject(@"[ 'foo' ]", jsonSerializerSetting);
заканчивается:
Невозможно привести объект типа 'Newtonsoft.Json.Linq.JArray', чтобы набрать 'System.String []'
Он не работает даже по умолчанию new JsonSerializerSettings()
. Думаю, это должно что-то переустанавливать, но я не могу понять, что.
Могу ли я вернуть массив/список и т. Д. Назад и по-прежнему сохранять возможность создания полиморфных типов?
wow, thx, этот был слишком легким ;-) Я использовал показ до и после того, как я добавил настройки, мне было интересно, почему это не работает. Я не думал, что это может быть общий параметр. – t3chb0t