JSON入力

C#出力

JSONをC#とは?

.NETアプリにサードパーティのAPIを組み込む際、JSONドキュメントは手に入るものの、レスポンスをデシリアライズするためには型付きC#クラスが必要になります。深くネストされたオブジェクトを手作業で書くのは大変です。このツールはJSONからC# POCOを自動生成します。サンプルのAPIレスポンスを貼り付けると、プロジェクトにすぐ組み込めるクラス定義が得られます。System.Text.JsonNewtonsoft.Json でそのまま使えます。

変換はブラウザで実行されます。設定でクラス名、プロパティ/フィールド、Nullable型を選択できます。サーバーには送信されません。

使い方

1

JSONを貼り付け

左のエディタにJSONを貼り付けるか、ファイルをアップロードしてください。サンプルで例データを読み込めます。設定でルートクラス名とオプションを設定してください。

2

クラスを確認

右パネルに生成されたC#クラスが表示されます。ネストオブジェクトは別クラスに。配列はList<T>またはT[]になります。

3

コピーまたはダウンロード

コピーまたはダウンロードでコードを取得してください。先にJSONをフォーマットするにはJSONフォーマッターを、検証にはJSONバリデーターを使用してください。

JSONをC#の例

JSONオブジェクトからC#クラスを生成する例です。

例:加入者レコード

JSON入力:

入力

生成されたC#出力:

出力

JSONをC#が役立つ場面

.NET、ASP.NET Core、BlazorでREST API統合時にC#型が必要です。サンプルレスポンスを貼り付けるとJsonSerializer.Deserialize<T>()で使えるPOCOが得られます。

JSONをC#の例

例:JSONオブジェクトをC#クラスに変換

JSON入力:

{"subscriberId":"SUB-001","planName":"プレミアム4G","dataLimit":"50GB","voiceMinutes":500,"status":"有効"}

生成されたC#クラス:

public class RootObject
{
    public string SubscriberId { get; set; }
    public string PlanName { get; set; }
    public string DataLimit { get; set; }
    public int VoiceMinutes { get; set; }
    public string Status { get; set; }
}

よくある質問

C#でJSONをデシリアライズするには?

System.Text.JsonJsonSerializer.Deserialize<YourClass>(jsonString)、またはNewtonsoft.Jsonの JsonConvert.DeserializeObject<YourClass>(jsonString) を使います。対応するC#クラスが必要です — JSONを貼り付けてここで生成できます。

JSONキーがC#の命名規則に合わない場合は?

プロパティに [JsonPropertyName("json_key")](System.Text.Json)または [JsonProperty("json_key")](Newtonsoft)を付けます。または JsonSerializerOptions.PropertyNamingPolicyJsonNamingPolicy.CamelCase に設定して自動マッピングも可能です。

C#のNullable参照型はどうなりますか?

設定でNullable Typesを有効にすると string?int? などが生成されます。JSONフィールドがnullや欠損の可能性がある場合に便利です。#nullable enable またはnullable対応のプロジェクト設定が必要です。

JSONがサーバーに送信されることはありますか?

いいえ。クラス生成はブラウザ内で完全に実行されます。JSONがあなたのマシンを離れることはないので、本番APIキーや機密データでも安全に使用できます。

プロパティとフィールド、どちらを使えばよいですか?

プロパティ(get; set;)はC#のDTOにおける標準です。System.Text.JsonとNewtonsoft.Jsonはどちらも、デフォルトでパブリックプロパティをシリアライズします。フィールドも動作しますが、データ転送オブジェクトには一般的ではありません。

関連ツール

System.Text.JsonNewtonsoft.JsonJSON仕様RFC 8259を参照してください。