2

我在反序列化datetime属性时遇到了一些问题JILJSON最初由序列化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"
  }
]

HeartbeatDateTime属性,我们已经确认通过删除它,JSON反序列化OK。

我们将这些选项用于序列化和反序列化:

new Options(dateFormat: DateTimeFormat.MillisecondsSinceUnixEpoch, includeInherited: true);

我注意到 Sigil 本周有一些 nuget 更新,不确定是否与此有关。

有任何想法吗?

更新:类定义很长,但是心跳属性的定义是产生或破坏反序列化的属性,如下所示:

public DateTime Heartbeat { get; set; }

这是使用静态反序列化。

4

0 回答 0