2015-04-09 4 views
4

Я бегу простой десериализации в собственный тип события с:JIL .NET JSON Десериализация исключение

JSON.Deserialize<Event>(text); 

с исключением:

An exception of type 'Jil.DeserializationException' occurred in Jil.dll but was not handled in user code. 
Additional information: Expected character: '\' 

JSON десериализации Newtonsoft хорошо работает на том же формате JSON, а также JSONLint подтвердил JSON действует. Какие-нибудь подсказки здесь? Я попытался передать строку, а также использовать (StringReader), как это предлагается на странице github JIL.

ответ

7

Не видя JSON-String, вы пытаетесь десериализовать, я не уверен в этом, но в конечном итоге десериализатор ожидает дату (время), которую вы пытаетесь десериализовать, чтобы быть в другом формате (я думаю, вы пытаясь десериализовать поле datetime).

Кажется, что JIL предполагает, что datetimes поставляются как «NewtosoftDateTime», но вы доставляете другой формат. См. https://github.com/kevin-montrose/Jil/blob/master/Jil/Deserialize/InlineDeserializer.cs#L667 для получения подробной информации, как джил предполагает, что ваша дата отформатирована.

Вы можете изменить ожидаемое форматирование с помощью параметров. См. Больше здесь: https://github.com/kevin-montrose/Jil/blob/master/Jil/Options.cs

+0

Вы правы, дата была проблема здесь, выбор правильной опции разрешил проблему – frno

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