我有一个Restful WCF Http服务,返回JSON并且工作得很好,除了DateTime没有正确格式化:
e.g。 “AdjudDate”:“ /日期(1349409600000-0400)/ ”
环顾四周后,我在这里发现了一个旧帖子,但我无法使用该代码。它最后一次更新于2011年。是否有更新版本或实施? JSON.NET Serializer for WCF REST Services
这是我的代码,它返回一个IEnumerable。
//除日期外,所有JSON值都很好:
private IEnumerable<Customer> ProcessWcfPost(Customer searchmodel)
{
return _repository.GetCustomers(searchModel);
}
修改的 我当然也尝试将返回类型更改为字符串而不是IEnumerable:
private string ProcessWcfPost(Customer searchmodel)
{
var result = _repository.GetCustomers(searchModel);
return Newtonsoft.Json.JsonConvert.SerializeObject(result);
}
但我的JSON不太对劲: [{\ “ClaimProcessId \”:1599986,\ “ClmHdrId \”:1011,\ “ClmLineId \”:1011,\ “ClmAdjId \”:1011,\ “ReceivedDtSur \”:\“2012-12-05T00:00: 00 \“,”“AdjudicationDtSur \”:\“2011-10-05T00:00:00 \”(等等)......
答案 0 :(得分:0)
我遇到了同样的问题,我找到了可以帮助任何人的解决方案。
此解决方案基于DateTimeKind.Utc
,它将返回没有-0400的日期,例如:
Public Function test() As Date
Dim DateFormatted As New DateTime(2017, 07, 04, 8, 18, 42, DateTimeKind.Utc)
return DateFormatted
End Function
答案 1 :(得分:0)
您可以尝试使用IsoDateTimeConverter
IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ss";
string strJSON = JsonConvert.SerializeObject(jsonObject, Newtonsoft.Json.Formatting.Indented, timeConverter);