标签: jil

JIL .NET JSON反序列化异常

我运行简单的反序列化到自己的类型事件:

JSON.Deserialize<Event>(text);
Run Code Online (Sandbox Code Playgroud)

除外:

An exception of type 'Jil.DeserializationException' occurred in Jil.dll but was not handled in user code.
Additional information: Expected character: '\'
Run Code Online (Sandbox Code Playgroud)

Newtonsoft的JSON反序列化在同一个json上运行良好,JSONLint也确认JSON有效.这里有线索吗?我尝试传入字符串,以及使用使用(StringReader),如JIL的github页面上所建议的那样.

.net json runtime-error deserialization jil

5
推荐指数
1
解决办法
3029
查看次数

4
推荐指数
1
解决办法
3万
查看次数

如何使用JIL使用参数化构造函数反序列化类型?

我有一个简单的不变POCO定义为:

public sealed class Person
{
    public Person(string name)
    {
        Name = name;
        TimeStamp = DateTimeOffset.UtcNow;
    }

    public DateTimeOffset TimeStamp { get; }    
    public string Name { get; }
}
Run Code Online (Sandbox Code Playgroud)

然后,我执行一个简单的ser反序列化:

var p = new Person("Mr Right").Dump();

var ser = JSON.Serialize(p).Dump();

// Throws Deserialization Exception, Error occured building a deserializer, 
// Expected a parameterless constructor...
JSON.Deserialize<Person>(ser).Dump();
Run Code Online (Sandbox Code Playgroud)

序列化成功产生:

{“ TimeStamp”:“ / Date(1456412550349 + 0000)/”,“ Name”:“ Mr Right”}

但是反序列化抛出了,有什么办法解决吗?是否JIL支持使用参数化构造函数对类型进行反序列化?

.net c# serialization deserialization jil

2
推荐指数
1
解决办法
647
查看次数

标签 统计

jil ×3

.net ×2

deserialization ×2

autosys ×1

c# ×1

json ×1

runtime-error ×1

serialization ×1