Десериализовать JSON, иногда значение является массивом, иногда "" (пустая строка) - PullRequest
0 голосов
/ 01 января 2011

Я пытаюсь десериализовать поле:

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

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

"presenters":""

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

Ошибка преобразования значения "" в тип "System.Collections.Generic.List`1 [DataPrototype.Model.Presenter] '.

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

1 Ответ

3 голосов
/ 01 января 2011

Да.

Внутри JsonConverter тестируют тип токена из JsonReader.

Если это строка, тогда возвращается null.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...