日期上的newtonsoft序列化器给出不同的结果

时间:2018-08-01 06:35:54

标签: c# json serialization json.net

我有以下几行代码。

HttpResponseBase response = context.HttpContext.Response;
StringBuilder sBuilder = new StringBuilder();
JsonSerializer serializer = new JsonSerializer();

using (JsonWriter writer = new JsonTextWriter(new StringWriter(sBuilder)))
{
    serializer.Serialize(writer, this.Data);
}

response.Write(sBuilder.ToString());

它负责每个C#在Web应用程序中的javascript输出。

那表示我无法完全更改它(很不幸,我尝试了很多错误)

问题是,它输入了错误的日期,在我的情况下是生日(dob)

ex: dob = { 1993 - 03 - 16 - 00 : 00 : 00 }

序列化(写入)后,dob变为{1993-03-15-23:00:00,GMT + 3}

我想序列化停止这样做。

我检查了newtonsoft的文档,但有0个帮助。

我尝试更改

serializer.DateParseHandling = DateParseHandling.None;
serializer.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat;
serializer.DateTimeZoneHandling = DateTimeZoneHandling.Local;
serializer.DateFormatString = "yyyy-MM-dd";

将它们设置为每种可能的模式。

结果还是一样。

我检查了其他这样的问题,这些问题建议反序列化,但是我不能这样做(或者可以吗?)

所以,如果您知道解决方法,我会很高兴的。

只是添加一些信息,在某些日期,我得到xx-xx-xx:aa:aa:aa gmt + 5之类的东西

我不明白那里有什么区别。

谢谢。

0 个答案:

没有答案