[英]HTTP WCF Service, JSON date formatting issue returning IEnumerable<class>
我有一个Restful WCF Http服务,该服务返回JSON并且运行良好,但DateTime的格式不正确:
例如“ AdjudDate”:“ / Date(1349409600000-0400)/ ”
环顾四周后,我在这里找到了一篇旧文章,但无法使该代码正常工作。 它的最新更新时间为2011年。也许还有更新的版本或实现? 用于WCF REST服务的JSON.NET序列化器
这是我的返回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,\\“ IRCHIdId”:1011,\\“ IRCLineId \\”:1011,\\“ IRCAdjId \\”:1011,\\“ ReceivedDtSur \\”:\\“ 2012-12-05T00:00:00 \\“,\\” AdjudicationDtSur \\“:\\” 2011-10-05T00:00:00 \\“(开启和关闭)...
我面临着同样的问题,我可以找到一个可以帮助任何人的解决方案。 此解决方案基于DateTimeKind.Utc
,它将返回不带-400的日期,例如:
Public Function test() As Date
Dim DateFormatted As New DateTime(2017, 07, 04, 8, 18, 42, DateTimeKind.Utc)
return DateFormatted
End Function
您可以尝试使用IsoDateTimeConverter
IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ss";
string strJSON = JsonConvert.SerializeObject(jsonObject, Newtonsoft.Json.Formatting.Indented, timeConverter);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.