>我有以下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的源代码时,CreateGenericList
抛出异常,因为调用(IList)Reflection.Instance.FastCreateInstance(pt);
后方法的col
变量为空。因此,当它尝试添加解析的字典时,它会引发异常。
是否可以配置序列化过程以确保正确处理IDbSet<T>
对象?
提前谢谢。
PS:您也可以在github中克隆我的存储库以重现此问题。
这是Mehdi Gholam先生(fastJSON所有者)在此线程上对我的问题的回答:
fastJSON 需要具体的类型,而不是要定义的接口,以便它知道要创建什么类型。
因此,请将您的代码更改为:
public class PersonContext { public List<Person> Persons { get; set; } }