1

シリアル化するためにJSON.NetでASP.NetWebAPIを使用しています。次のように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 に答える