開発・プログラミング

JSON C# クラス 変換を無料で使う

JSONサンプルからC#のクラスとプロパティ定義を生成する。 開発中のデータ確認や変換を、コピーしてすぐ試せます。

ブラウザ内処理

生成後に確認するチェックリスト

  • IDや電話番号、郵便番号に先頭ゼロがある場合はstringへ変更する。
  • 金額、税率、精密な小数はdoubleではなくdecimalを検討する。
  • 日時はタイムゾーン要件に応じてDateTimeOffset、DateOnly、TimeOnlyを検討する。
  • nullableと必須項目をAPI仕様書・バリデーション仕様に合わせる。
  • 巨大なレスポンスDTOは用途別、画面別、API別へ分割する。

QUALITY REVIEW

機能・説明・操作性を確認済みです

サンプルの実処理、代表的な不正入力、説明と実装の一致、320px・390px幅の操作、関連リンクと検索情報を確認しました。

最終確認
確認者
UtilityBox運営者
確認基準
品質確認ポリシー

FEATURES

このツールでできること

  • JSONサンプルからC#のクラスとプロパティ定義を生成する。
  • 開発中のデータ確認や変換を、コピーしてすぐ試せます。
  • 無料・会員登録不要で、PCとスマートフォンのブラウザから利用できます。

HOW TO USE

使い方

  1. 1

    APIレスポンスや設定JSONを入力欄へ貼り付けます。複数パターンがある場合は配列で入力するとoptional判定が正確になります。

  2. 2

    ルート型名、namespace、classまたはrecord、nullableや属性の設定を選びます。

  3. 3

    「C#クラスを生成する」を押し、生成コードと型推論の統計・警告を確認します。

  4. 4

    生成結果をプロジェクトへ組み込む前に、API仕様書、実データ、nullable方針、日時・金額型を人が最終確認します。

EXAMPLE

具体的な入力例・出力例

入力例

{"id":1,"name":"UtilityBox","enabled":true}

設定:
className=Root
namespace=UtilityBox.Generated

出力例

using System.Collections.Generic;

namespace UtilityBox.Generated;

public class Root
{
    public int Id { get; set; }
    public string Name { get; set; }
    public bool Enabled { get; set; }
}

PRACTICAL USES

具体的な利用場面

  • JSONレスポンスからC# DTOクラスの下書きを生成する。
  • API仕様がある場合はOpenAPIコード生成を優先する。
  • JSONサンプルからC#のクラスとプロパティ定義を生成する処理を掲載サンプルで試し、本番利用前に結果を比較する。

処理仕様と結果の確認ポイント

  • JSON型をstring、bool、long、double、List、子クラスへ対応付け、キーを英数字のproperty名へ整える。
  • nullable、decimal、DateTime、元JSONキーとの対応、必須性を生成後に確認する。
  • 入力コードや設定は実行せず、ブラウザ内で解析して結果・件数・エラー位置を表示する。

このツール固有の制限

  • JsonPropertyName属性やrecordは生成せず、一つの値から桁数・日時・必須性は確定できない。
  • 入力コードは実行しない。標準仕様中心で、独自方言は段階対応。
  • 入力上限は「2MBまたは2,000,000文字を初期上限」。対象言語、runtime、方言の仕様と照合する。

SPECIFICATION & REVIEW

入力・出力仕様と確認基準

JSONからC#クラス生成ツールは「JSONからC#クラス生成」の作業を、不要(標準API・自作)を使ってブラウザ内で処理します。入力形式、出力形式、処理上限を公開し、結果を利用する前に確認すべき点も明示しています。

入力仕様

  • 入力の種類:テキストまたは構造化データ。サンプルは「{"id":1,"name":"UtilityBox","enabled":true} 設定: className=Root namespace=UtilityBox.Generated」です。
  • 補助入力:必須の2つ目の入力はありません。JSONからC#クラス生成の主入力と設定だけで実行できます。
  • 設定項目:サンプルでは「className=Root namespace=UtilityBox.Generated」を使用します。設定を変更した場合は出力との差を比較します。
  • 処理上限:2MBまたは2,000,000文字を初期上限。上限超過は処理開始前に日本語のエラーとして案内します。

出力仕様

  • 出力の種類:変換後の構造化テキスト、行数、件数。
  • サンプル出力:using System.Collections.Generic; namespace UtilityBox.Generated; public class Root { public int Id { get; set; } public string Name { get; set; } public bool Enabled { get; set; }…
  • 保存方法:出力欄からコピーでき、必要に応じてテキストファイルとして保存できます。
  • 処理方式:不要(標準API・自作)。入力内容や選択ファイルを外部サーバーへ送信しません。

結果を利用する前の確認項目

  • サンプル入力「{"id":1,"name":"UtilityBox","enabled":true} 設定: className=Root namespace=UtilityBox.Generated」で実行し、出力の先頭が「using System.Collections.Generic;」の形式になるか確認します。
  • 設定「className=Root namespace=UtilityBox.Generated」が結果へ反映され、設定変更時に出力形式・件数・単位が変化するか比較します。
  • オブジェクトと配列の階層、数値・真偽値・nullの型、キー名が変換前後で意図どおりか確認します。
  • 入力上限、未対応形式、破損データを与えた場合に、技術的な例外文ではなく修正方法が分かるエラーになるか確認します。

仕様更新日:2026年7月21日 ツール品質方針を見る

ERRORS

エラーになる条件

  • 入力が空、JSON構文が不正、または2,000,000文字を超えている場合。
  • ルート配列が空で、要素型を判断できない場合。
  • ブラウザが必要なJavaScriptモジュールを読み込めない場合。

NOTES

使用上の注意

  • 生成結果は入力サンプルからの推論です。API仕様全体や将来追加される値までは保証できません。
  • 金額はdoubleではなくdecimal、IDは数値ではなくstringやlongが適切な場合があります。業務要件に合わせて変更してください。
  • DateTime推論はISO 8601形式の文字列候補に対する補助判断です。DateTimeOffsetやDateOnlyが適切な場合もあります。
  • nullable reference typeを有効にする場合は、プロジェクト側のNullable設定と初期化方針を確認してください。
  • System.Text.Jsonを前提にしています。Newtonsoft.Jsonを使う場合は属性名と設定を置き換えてください。

入力データを外部送信しません

入力したデータや選択したファイルは、ユーザーのブラウザ内で処理され、外部サーバーへ送信されません。

FAQ

よくある質問

JSONからC#クラス生成ツールで確認すべき点は?

nullable、decimal、DateTime、元JSONキーとの対応、必須性を生成後に確認する。

JSONからC#クラス生成ツールと別ツールの使い分けは?

API仕様がある場合はOpenAPIコード生成を優先する。

JSONからC#クラス生成ツールの固有仕様は?

snake_caseはPascalCaseへ変えるが元キー属性を付けないため、serializer設定または属性を追記する。

JSONからC#クラス生成は無料で使えますか?

無料で利用でき、会員登録も必要ありません。

JSONからC#クラス生成はスマートフォンでも使えますか?

一般的なスマートフォンブラウザから利用できます。ファイル系機能は端末やブラウザの保存仕様によって操作が異なる場合があります。

1件のJSONだけでoptionalを判定できますか?

1件だけでは欠落パターンを確認できません。複数レコードをJSON配列で入力すると、レコード間の差からoptionalを推論できます。

recordとclassはどちらを選べばよいですか?

受信DTOを不変に近く扱うならrecord、ORMや既存ライブラリとの互換性を重視するならclassが扱いやすい場合があります。

金額がdoubleになるのは正しいですか?

JSONだけでは金額か一般小数か判別できません。金額・税率・精度が重要な値はdecimalへ手動変更してください。

JsonPropertyName属性は必要ですか?

命名規則設定だけで変換できる場合は不要です。キー名が不規則、ハイフンを含む、予約語と衝突する場合は属性が安全です。

生成後そのまま本番利用できますか?

そのまま採用せず、API仕様、null、日時、数値範囲、必須項目、独自コンバーターの必要性をレビューしてください。

入力したJSONは送信されますか?

処理はブラウザ内で行います。ただし機密情報を扱う場合は、利用環境とサイトのデータ取扱方針も確認してください。