2

我的休息服务使用 ISO 8601 作为所有请求和响应的日期格式。有没有办法设置这个RestClient或者我需要在每个人上设置它RestRequest

4

1 回答 1

3

看起来没有任何内置功能可以这样做。Newtonsoft.Json 提供了一个 IsoDateTimeConverter 可以做你正在寻找的序列化。为了将它用于序列化,我认为您需要在自己的 ISerializer 中复制 RestSharp.Serializers.JsonSerializer 几乎完全与 RestSharp 版本完全相同,但在创建的实例中调整 NewtonSoft.Json.JsonSerializer.Converters 属性在这里并添加/替换日期/时间转换器。

至于反序列化,您应该能够在新的 JsonDeserializer 上设置 IDeserializer.DateFormat 属性并将其设置为您的处理程序:

client.AddHandler ("application/json", new JsonDeserializer() { DateFormat = "yyyy-MM-ddTHH\:mm\:ss.fffffffzzz" });
于 2011-11-11T18:42:43.607 回答