我正在使用ASP.Net Web API与JSON.Net进行序列化。我必须配置序列化器来正确处理ISO日期,如下所示:
var iso = new IsoDateTimeConverter {
DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffK"
};
GlobalConfiguration.Configuration.Formatters.JsonFormatter
.SerializerSettings.Converters.Add(iso);
当我通过WebAPI传递我的对象时,这很好用。然而,我的问题是我还有另一个地方要显式调用序列化:
@Html.Raw(JsonConvert.SerializeObject(Model));
在这种情况下,它不使用我设置的配置。我知道我可以将iso
转换器传递给SerializeObject
调用,但我更愿意避免这种情况,并且出于显而易见的原因获得配置的序列化器。
有什么想法吗?
答案 0 :(得分:3)
如果您要自己进行JSON序列化,则必须明确传递所需的设置。没有办法绕过它。如果你想重用相同的序列化设置,我能想到的最好的方法是做这样的事情:
JsonConvert.SerializeObject(Model, GlobalConfiguration.Configuration.Formatters.
JsonFormatter.SerializerSettings)