我有以下json数据:
{
"Persons": [
{ "Person": { "FirstName":"A", "Surname": "B" } },
{ "Person": { "FirstName":"C", "Surname": "D" } },
{ "Person": { "FirstName":"E", "Surname": "F" } }
]
}
我的班级定义是:
public class PersonContext
{
public IDbSet<Person> Persons { get; set; }
}
public class Person
{
public string FirstName { get; set; }
public string Surname { get; set; }
}
当我使用fastJSON将其反序列化为对象时,我会收到NullReferenceException
。
PersonContext context = fastJSON.JSON.ToObject<PersonContext>(jsonText);
调试fastJSON的source code,CreateGenericList
抛出异常,因为调用col
后方法的(IList)Reflection.Instance.FastCreateInstance(pt);
变量为空。所以之后,当它试图添加解析的字典时,它会引发异常。
我是否可以配置序列化过程以确保正确处理IDbSet<T>
个对象?
提前致谢。
PS:你也可以在github克隆我的回购以重现这个问题。
答案 0 :(得分:0)
这是我先生的问题的答案。 Mehdi Gholam(fastJSON所有者)就此thread:
fastJSON需要具体类型而不是要定义的接口,因此它知道要创建的类型。
所以将代码更改为:
public class PersonContext { public List<Person> Persons { get; set; } }