使用
<PackageReference Include="Json.NET" Version="1.0.16" />
我有一些看起来像JSON
{
"links": [ { ... }, ... ]
}
显然,省略号是为了简洁。
这很好地反序列化为仅具有三个属性的模型类型,其中只有一个是links
,另外两个尚未使用,我已删除它们进行测试,这对我的问题没有任何影响。
我的模型类型上的links属性是一个通用集合HyperlinkCollection<TLink>
。
一切正常,直到我将JSON更改为此。
{
"about": {
"version": "1",
"healthMessage": "Healthy"
},
"links": [ ... ]
}
然后我收到此错误。
System.NullReferenceException: Object reference not set to an instance of an object.
at Json.Net.JsonParser.FromJson(Type type)
at Json.Net.JsonParser.FromJson(Type type)
at Json.Net.JsonNet.Deserialize[T](String json, IJsonConverter[] converters)
首先,我觉得裸露的NullRef应该来自库是不对的。
第二,我认为无关的成员about
将被忽略。
答案 0 :(得分:0)
刚意识到有人将一个$schedule->call(function () {
Heartbeat::dispatch();
})->everyFiveMinutes();
包添加到了NuGet.org,而不是Json.NET
。
我转而使用真实的东西,并且一切正常。