1

我正在使用带有 JSON.Net 的 ASP.Net Web API 进行序列化。我必须配置序列化程序以正确处理 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调用,但出于显而易见的原因,我更愿意避免这种情况并获取已配置的序列化程序。

有任何想法吗?

4

1 回答 1

3

如果您要自己进行 JSON 序列化,则必须明确传递所需的设置。没有办法解决它。如果您想重用相同的序列化程序设置,我能想到的最好的方法是执行以下操作:

JsonConvert.SerializeObject(Model, GlobalConfiguration.Configuration.Formatters.
    JsonFormatter.SerializerSettings)
于 2012-11-12T22:26:00.983 回答