C#

【JSON2CSharp】JSONからC#のモデルクラスを自動生成

外部のAPIを利用したい場合に、リクエスト項目やレスポンス項目のモデルクラスを手動で定義するのが面倒だった経験があります。
そういった場合にサンプルのJSONなどがあれば、自動でモデルクラスを出力してくれるWEBツールがあります。それがJSON2CSharpです。

今回はJSON2CSharpを使ってみたいと思います。

JSON2CSharp の使い方

下記URLからアクセスできます。

https://json2csharp.com/

今回は下記のJSON文字列で試してみます。

{
    "person": [
        {
            "name": "penta",
            "age": 25
        },
        {
            "name": "ponta",
            "age": 40
        }
    ],
    "count": 2
}

基本的な使い方は下記の通りです。

1.JSON文字列を左側にコピペする

2.Convertボタンをクリックする

3.出力されたC#のクラスをVisualStudioにコピペする

実際に試してみると、自動でモデルクラスが生成されました。非常に便利ですね。

また、他にも機能があるので見てみましょう。

左下にあるSettingsから、Use JsonPropertyName(.NET Core)にチェックを入れてConvertすると、プロパティにアノテーションを付与して出力してくれます。

出力してみると、アノテーション付きで作成されることが確認できました。JsonPropertyNameは小文字で、プロパティは頭大文字で出力してくれるためありがたいです。

ほかにもいくつか任意で設定が出来るようです。

  • Use Pascal Case
  • Use Fields
  • Generate Immutable Classes
  • Use Readonly Lists

今回は項目が少ないため実感が薄いですが、項目が多ければ多いほど利便性が高く感じられるかと思います。業務アプリケーション開発などでは数百項目の連携を行うAPIもよくあるかと思います。そういった場合にサンプルのJSONがあれば一瞬でモデルクラスを自動で出力できるため非常におすすめなツールです。

また、JSONだけでなくXMLにも対応しているようです。

Visual Studio の機能を使う

実はVisual Studioの機能を使っても似たようなことができます。

JSON文字列をクリップボードにコピーした状態で、「編集」>「形式を選択して貼り付け」>「JSONをクラスとして貼り付ける」を選択すると、エディタのフォーカスしている箇所にクラスが自動生成されます。

下記の通り、JSONからクラスが生成されたことが確認できました。

JSON2CSharpではListで出力されたPersonが、こちらでは配列で生成されました。また、アノテーションを付与することはできないので、比較的に利便性は低くなるかと思います。

こちらもJSONだけでなく、XMLにも対応しています。

エンジニアの転職ならこれ!

【第二新卒向け】マイナビジョブ20's

マイナビジョブ20'sは、20代・第二新卒・既卒向けの転職エージェントです。

▼こんな方におすすめ
・はじめて転職しようと思っている
・転職できるだけのスキルが自分にあるか不安
・手厚いサポートを受けたい

【フリーランス向け】 Midworks

Midworksは豊富な案件と「フリーランス」と「正社員」の良いとこ取りをした働き方を実現する手厚い保障が特徴です。

▼こんな方におすすめ
・現在正社員でフリーランスになろうか悩んでいる
・フリーランスとして働いているが、先行きが不安がある  (安定的な案件確保や保障など)
・自分の市場価値を知りたい、見合った案件で参画したい
・今後のキャリアビジョンを踏まえて案件を選びたい