我在反序列化datetime
属性时遇到了一些问题JIL
。JSON
最初由序列化JIL
,存储在数据库中,现在读回。
反序列化器抛出以下异常:
预期的: ,, }
这是有问题的json:
[
{
"BuildVersion": 0,
"DataCenterId": "LD5",
"Heartbeat": 1458060298923,
"ID": "0393ceb7-92cf-45f6-8cea-ac25878598e3",
"IsMarkedSoftDeleted": false,
"IsNew": true,
"ItemKey": "0393ceb7-92cf-45f6-8cea-ac25878598e3",
"ItemType": "Node",
"MajorVersion": 0,
"MaxAccounts": 25,
"MinorVersion": 0,
"Name": "LN-PETER2",
"OriginalId": null,
"RunningAccounts": 0,
"TypeId": "MT4 Client"
}
]
Heartbeat
是DateTime
属性,我们已经确认通过删除它,JSON
反序列化OK。
我们将这些选项用于序列化和反序列化:
new Options(dateFormat: DateTimeFormat.MillisecondsSinceUnixEpoch, includeInherited: true);
我注意到 Sigil 本周有一些 nuget 更新,不确定是否与此有关。
有任何想法吗?
更新:类定义很长,但是心跳属性的定义是产生或破坏反序列化的属性,如下所示:
public DateTime Heartbeat { get; set; }
这是使用静态反序列化。