使用 servicestack 自动查询时的 DateTime 属性 问题

DateTime property issue when using servicestack autoquery

感谢 Mythz 提供如此强大的框架。但是,我遇到了 DateTime 属性 通过使用 servicestack 自动查询呈现为这样的“/Date(1543681261000-0000)/”而不是“2019-03-25T12:50:3000”。我找不到任何相关文档。请帮助我。

{
"customer": [
    {
        "transaction_total": 0,
        "text": "0067 83228780",
        "transaction_time": 0,
        "action": 0,
        "point_collection_on_registration": false,
        "id": 71,
        "push_notification_id": "null",
        "name": "0067",
        "ic": "27668",
        "type": 0,
        "phone_no": "83228780",
        "point": 5132,
        "balance": 1621.3,
        "issue_date": "/Date(1543681261000-0000)/",
        "is_subscribed": true,
        "is_expiry": false,
        "lang_preferred": "cn",
        "is_delete": false
    }
],
"count_all": 120

}

ServiceStack 默认使用 JSON 的 WCF 日期,请参阅 的答案。

您可以选择更改 JSON 中 JSON ServiceStack 中任何 JSON 响应的日期序列化方式 customizing JSON Responses, e.g you can change the JSON returned by the Auto Query Service with:

  • ?jsconfig=DateHandler:ISO8601
  • ?jsconfig=DateHandler:ISO8601DateOnly
  • ?jsconfig=DateHandler:ISO8601DateTime

或使用简写别名表示法:

  • ?jsconfig=dh:iso8601
  • ?jsconfig=dh:iso8601do
  • ?jsconfig=dh:iso8601dt

或者,您可以告诉 ServiceStack 在 AppHost.Configure() 中始终使用 JSON 中的 ISO8601 日期:

JsConfig.Init(new Config {
    DateHandler = DateHandler.ISO8601
});