動くコード図鑑技術記事現場の渡り方キャリア論すべての記事About
C#

定石2: JsonSerializerSettingsで業務系ベース設定を固定

出典: C# Newtonsoft.Json で業務系JSON処理を実戦投入する完全ガイド(.NET Framework 4.7.2 編)定石2: JsonSerializerSettingsで業務系ベース設定を固定

定石2: JsonSerializerSettingsで業務系ベース設定を固定 (csharp)#724e2bb51ad5
// ✅定石2:業務系ベース設定(プロジェクト全体で使い回す)
public static class JsonConfig
{
    public static readonly JsonSerializerSettings BusinessDefault = new JsonSerializerSettings
    {
        // DateTimeはUTC統一(ローカル化事故を予防)
        DateTimeZoneHandling = DateTimeZoneHandling.Utc,
        DateFormatHandling = DateFormatHandling.IsoDateFormat,
 
        // nullプロパティは出力しない(APIレスポンスを軽くする)
        NullValueHandling = NullValueHandling.Ignore,
 
        // decimalをdoubleにしない(金額計算の精度保持)
        FloatParseHandling = FloatParseHandling.Decimal,
 
        // CamelCaseに統一(外部APIで多数派)
        ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver(),
 
        //循環参照を無視(DataTable / EFエンティティでよく踏む)
        ReferenceLoopHandling = ReferenceLoopHandling.Ignore,
    };
}
 
//使う側
string json = JsonConvert.SerializeObject(order, JsonConfig.BusinessDefault);
var parsed = JsonConvert.DeserializeObject<OrderDto>(json, JsonConfig.BusinessDefault);
▸ この snippet は実行結果未収録
▸ 実行結果は未収録です
  • id: #724e2bb51ad5
  • lines: 26
  • extracted: 2026-06-10

Source収録記事

この snippet は記事の「定石2: JsonSerializerSettingsで業務系ベース設定を固定」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。

同じ記事から

5
図鑑トップ