2010-12-31 2 views
0

Я пытаюсь десериализации поле:Deserialize JSON, иногда значение является массивом, иногда «» (пустая строка)

"presenters":[{...},{...}] 

но некоторые строки возвращаются с только:

"presenters":"" 

Когда сериализатору попадает в ряд с этой пустой строки я получаю:

Ошибка преобразования значения «» к типу «System.Collections.Generic.List`1 [DataPrototype.M odel.Presenter].

Я правильно понял, что мне нужен JsonConverter, который изменит пустую строку на пустой список?

+2

Ну, было бы лучше, если бы вы просто не получили данные о шизофрении. –

+0

Возможный дубликат [Deserializing JSON, когда иногда массив, а иногда и объект] (http://stackoverflow.com/questions/5224697/deserializing-json-when-sometimes-array-and-sometimes-object) –

ответ

3

Да.

Внутри JsonConverter проверяется токен от JsonReader.

Если это строка, то верните нуль.

Если это начало массива, используйте JsonReader и JsonSerializer, переданные методу преобразователя для десериализации массива.

Смежные вопросы