繁体   English   中英

HTTP WCF服务,返回IEnumerable的JSON日期格式问题<class>

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM