我使用以下命令将简单的反序列化运行到自己的类型Event中:

JSON.Deserialize<Event>(text);

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

Newtonsoft的JSON反序列化可在同一json上很好地工作,并且JSONLint确认JSON有效。这里有什么线索吗?我尝试传递字符串,以及按照JIL的github页面上的建议使用using(StringReader)。

最佳答案

在没有看到JSON-String的情况下,您尝试反序列化,对此我不确定,但是最终反序列化程序期望您要反序列化的日期(时间)采用另一种格式(我想您正在尝试反序列化日期时间字段)。

JIL似乎假设日期时间以“NewtosoftDateTime”的形式提供,但是您正在提供另一种格式。有关详细信息,请参见https://github.com/kevin-montrose/Jil/blob/master/Jil/Deserialize/InlineDeserializer.cs#L667,jil如何假定您的日期已格式化。

您可以通过“选项”更改所需的格式。在这里查看更多:https://github.com/kevin-montrose/Jil/blob/master/Jil/Options.cs

09-13 04:08