JSON → C# クラス/レコード生成

JSON 入力

エディターを読み込み中…

生成された C#

Configuration

JSON データを入力して、.NET プロジェクト向けに型付きの C# クラス/レコードを生成します

クラス、レコード、DTO、nullable 参照型対応のプロパティ

JSON を C# に変換する方法 – 手順ガイド

この JSON→C# 生成ツールを使って、ASP.NET Core API や .NET アプリ向けに JSON サンプルから C# クラスまたは record を作成します。

  1. ステップ 1 – JSON サンプルを貼り付ける

    • 左側のエディターに代表的な JSON オブジェクトまたは配列を貼り付けます。
    • ネストしたオブジェクト、配列、null になり得るフィールドを含めて、型推論を正確にします。
    • Import を使ってファイル、URL、サンプルデータから JSON を読み込みます。
  2. ステップ 2 – C# クラスのオプションを選ぶ

    • プロジェクト構成に合わせて Class NameNamespace を設定します。
    • 属性が必要なら JSON フレームワーク(System.Text.Json または Newtonsoft.Json)を選びます。
    • nullable 参照型を有効にして、オプションフィールドが string? などにマップされるようにします。
  3. ステップ 3 – 生成されたコードを確認する

    • フィールド名、型、配列/オブジェクトの表現を確認します。
    • 利用可能なら Root Type Name、null の扱い、フレームワーク等のオプションを調整します。
    • 推論が違う場合は JSON サンプルを調整して再生成します。
  4. ステップ 4 – .NET で生成 DTO を使う

    • 出力をプロジェクトに貼り付けて API/DTO フォルダに追加します。
    • 選択したシリアライザーで JSON をルート型にデシリアライズします。
    • バージョニングや後方互換が必要な場合は、DTO をドメインモデルと分離します。
  5. ステップ 5 – コピーまたはダウンロード

    • 出力をプロジェクトにコピーするか、ファイルとしてダウンロードします。
    • フォーマッター/リンターを実行してコードスタイルを整えます。
    • 必要に応じて JSON の解析/シリアライズ用ライブラリを追加します。

クイックヒント

  • 可能なら不変モデルとして record を優先します。
  • JSON のキーが C# の命名と一致しない場合は [JsonPropertyName] / [JsonProperty] を使います。
  • 部分的に初期化されたオブジェクトを避けるため、入力は早めに検証します。
出力例(簡略版)
// JSON 入力
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated C# DTOs (simplified)
public class Metadata
{
    public string Plan { get; set; } = string.Empty;
}

public class Root
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public string? Email { get; set; }
    public bool Active { get; set; }
    public List<string> Roles { get; set; } = new();
    public Metadata Metadata { get; set; } = new();
    public DateTime CreatedAt { get; set; }
    public double Score { get; set; }
    public object? Notes { get; set; }
}

関連する JSON & C# ツール

この JSON→C# 生成ツールと相性の良い JSON/スキーマ関連ツールもチェックしてください。

よくある質問

この JSON → C# ジェネレーターはどの C# 機能に対応していますか?

プロパティ付きの C# クラスと C# 9+ レコードを生成し、JSON.NET と System.Text.Json の属性に対応します。適切な namespace を含む、モダン .NET の命名規則に沿った出力です。

クラスだけでなく C# レコードや DTO も生成できますか?

はい。「Record」を選択すると、DTO や API コントラクト、値オブジェクトに適した immutable な C# レコードを生成できます。

生成された C# 型での JSON シリアライズはどう動作しますか?

Newtonsoft.Json と System.Text.Json の両方の属性に対応し、プロパティ名の指定、null の扱い、柔軟な設定によるシリアライズ/デシリアライズをサポートします。

nullable 参照型やオプションフィールドはどう扱われますか?

null になり得るプロパティには nullable 注釈(object?)を付与し、モダン C# の nullable 参照型の慣習に沿って安全にオプションフィールドを扱えるようにします。

ASP.NET Core や Blazor でも使えますか?

はい。生成された C# コードは、ASP.NET Core のコントローラ、minimal API、Blazor コンポーネントなど、JSON payload の型付きモデルが必要な .NET アプリで利用できます。

このジェネレーターは無料ですか?

はい。JSON Swiss の JSON → C# ジェネレーターはブラウザー上で無料で使えます。JSON を貼り付けてオプションを設定するだけで、ツールや拡張機能のインストールは不要です。

JSON → C# クラス/レコード生成 | JSONSwiss