JA
マイツール

JSONをC#クラスに変換

JSONからC#のクラスやレコードを生成します。List<T>、nullable型、DateTimeとGuidの検出、System.Text.JsonとNewtonsoftの属性に対応しています。

C#コード
生成された型の数
3

すべてのサンプルがnullだったか、サンプルごとに値の種類が違うため、objectを使っています。実際の型がわかったら置き換えてください。

10.0のように書かれた数値は整数として読み取られるため、サンプルがすべてそうなっているフィールドはintになります。doubleにするには、小数を含むサンプルを1つ入れてください。

マイツール →
広告

JSONレスポンスを貼り付けると、デシリアライズに使えるC#のモデルクラスを生成します。入れ子のオブジェクトはそれぞれクラスになり、配列はList<T>になります。配列に複数のオブジェクトがある場合はフィールドをマージするため、一部の項目にないフィールドや、時々nullになるフィールドはnullable(int?、string?)になります。正確なJSON名を持つ属性により、camelCaseやsnake_caseのキーもPascalCaseのプロパティに対応づけられます。JSONがブラウザの外に出ることはありません。

使い方

  1. 代表的なJSONサンプルを貼り付けます。複数の項目を持つ配列だと、最も正確な型になります。
  2. ルートクラス名を設定し、必要なら名前空間も入力します。
  3. クラスか位置指定レコードか、そしてSystem.Text.Json、Newtonsoft、属性なしのいずれかを選びます。
  4. nullable参照型と、DateTime/Guidの検出をするかどうかを決めます。
  5. コードを.csファイルにコピーします。

計算式

整数 → int(±2,147,483,647を超えるとlong) · 小数 → double · true/false → bool · テキスト → string · ISO日付 → DateTime · UUID → Guid · [ … ] → List<T> · { … } → クラス

同じ位置で見つかった値はマージされます。intとdoubleはdoubleになり、種類が混在するとobjectになります。一部のサンプルでnullの、または一部の配列項目にないメンバーはnullableになります。値型には常に?が付き、参照型にはnullable参照型がオンのときに?が付きます。同じ形のオブジェクトは1つのクラスを共有し、リスト項目のクラスはキーの単数形で名前が付きます(orders → Order)。

計算例

サンプルのユーザーからは3つのクラスができます。Rootには、int Id、string Name、string Email、bool IsActive、double Balance、DateTime CreatedAt、List<string> Tags、Address Address、List<Order> Orders、そしてサンプルではnullのobject? Managerがあります。Orderには、string OrderId(order_idから)、double Total(59.9と12がマージされてdouble)、int Items、string? Couponがあり、クーポンは2件目の注文にしかないためnullableです。

よくある質問

System.Text.JsonとNewtonsoftのどちらを使うべきですか?

新しい.NETプロジェクトでは、標準で組み込まれているSystem.Text.Jsonを使い、属性は[JsonPropertyName("…")]です。プロジェクトがすでにJson.NETを使っているなら、Newtonsoftを選んでください。属性は[JsonProperty("…")]です。属性を付けると、C#側の名前はPascalCaseのまま、JSON側は元の綴りを保てます。

null非許容のプロパティが初期化されていないという警告が出るのはなぜですか?

nullable参照型をオンにすると、コンストラクターで設定されないstringやクラスのプロパティに警告CS8618が出ます。required(C# 11)を付ける、既定値を与える、APIが省略し得るならnullableにする、のいずれかで対処してください。

レコードはいつ使いますか?

読み取るだけのデータに使います。位置指定レコードは簡潔で不変であり、どちらのシリアライザーもコンストラクター経由で値を設定します。

フィールドがobject型になるのはなぜですか?

すべてのサンプルがnullだったか、数値とテキストのように種類が混在しているためです。実際の値があるサンプルを使うか、型を手で修正してください。

出典

最終更新:

このツールを引用する
APA

kakaoCalc. (2026, November 8). JSONをC#クラスに変換. https://kakao.mobile/ja/tools/json-to-c-class-tool/

MLA

“JSONをC#クラスに変換.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/json-to-c-class-tool/.

広告