2014-09-22 6 views
0

Я пытаюсь десериализовать строки JSON, где некоторые поля могут быть разными. Вот некоторые из строк я должен десериализации:C# JavaScriptSerializer deserialize field type field

{ "field1": { "массив": [1,2,3]}, "field2": { "массив": [ "а" , "б", "в"]}}

{ "поле1": "", "поле2": ""}

{ "поле1": "", "поле2": { "массив" : [ "а", "б", "в"]}}

{ "поле1": { "массив": [1,2,3]}, "поле2": ""}

Первые tring успешно десериализуется, но остальная часть генерирует исключение.

Возможно ли разобрать четыре строки с тем же кодом?

+0

Не могли бы вы показать свои усилия до сих пор? – decPL

ответ

0

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

Попробуйте заменить пустые строки на null.

+0

Строки поступали из веб-службы, поэтому я не могу изменить строки emty в нулевых значениях. Конечно, я могу использовать строковые манипуляции; но есть риск изменить что-то еще. – user2959635

+0

В этом случае я советую показать код десериализации, и я воспроизведу проблему. Не забудьте также использовать инструменты форматирования кода; так как хорошая презентация в stackoverflow гарантирует, что вы получите помощь. – krisdyson