JSON文字列からC#クラスファイルを自動生成する方法[終了]


108

次のJSONオブジェクトを考えると、

form = {
  "name": "",
  "address": {
    "street": "",
    "city": "",
    "province": "",
    "postalCode": "",
    "country": ""
  },
  "phoneDay": "",
  "phoneCell": "",
  "businessName": "",
  "website": "",
  "email": ""
}

次のC#クラスを自動生成するツールとは何ですか?

public class ContactInfo
{
    public string Name { get; set; }
    public Address Address { get; set; }
    public string PhoneDay { get; set; }
    public string PhoneCell { get; set; }
    public string BusinessName { get; set; }
    public string Website { get; set; }
    public string Email { get; set; }
}

public class Address
{
    public string Street { get; set; }
    public string City { get; set; }
    public string Province { get; set; }
    public string PostalCode { get; set; }
    public string Country { get; set; }
}

私たちはすでにこれらの質問を見てきました:

JSONスキーマからC#クラスを生成するJSONスキーマについて尋ねていますが、これは今後使用するアプローチとなる可能性があります。

Jsonオブジェクト用に生成されたC#クラスの利点と欠点



このツールを試してみてください
。tools4geeks.com/

Swagger YAMLで同じことを行う方法を知っている人はいますか?
ryanwebjackson 2018年

残念ながら、json2charp.comは現在販売中のドメインです。それは最悪で、クイックティップはちょっと不格好です。誰かがより良い代替案を知っていますか?
DARKGuy

@DARKGuy jsonutils jsonutils.com
ラファエル

回答:


146

5つのオプション:

  • 何もインストールせずに無料のjsonutils Webツールを使用します。

  • Visual StudioにWeb Essentialsがある場合は、編集>特殊貼り付け> JSONをクラスとして貼り付けを使用します。

  • 無料のjsonclassgenerator .exeを使用する

  • Webツールapp.quicktype.ioでは、何もインストールする必要はありません。

  • Webツールjson2csharpも、何もインストールする必要がありません。

長所と短所:


Web Essentialsとjson2csharpはどちらも素晴らしい仕事をしています。jsonclassgeneratorを試さなかったので、そのために別のアプリを開く必要があるように思われました
Zoran P.

1
私はjsonclassgeneratorを試していませんが、利点を確認できます。たとえば、モックAPIがある場合、エンドポイントのセットを介して対話してモデルを再生成できます。新しいコミットをチェックし、変更があった場合はモデルを更新するスクリプトを設定することもできます。毎回新しいjsonを手動で貼り付けたくないでしょう。これは間違いを起こしやすいからです。
ビリージェイクオコナー

json2csharpツールは、クラス、特にクラス名のフォーマットに関して、VSよりも優れています。「_」などのあいまいな文字を削除し、その後クラス名を正しくキャメルケースにします。
big_water 2017

2
「jsonutils」はかなりクールですが、それは、同様に「JSONのプロパティ」などの属性を生成することができますjsonutils.comを
Dhanuka777

app.quicktype.ioこれは、セキュリティ上の問題により、一部のマシンでは機能しません。
Sean Ch

121

Visual Studio 2012(ASP.NETおよびWeb Tools 2012.2 RCがインストールされている)は、これをネイティブでサポートしています

Visual Studio 2013以降には、この機能が組み込まれています。

Visual Studio Paste JSON as Classesスクリーンショット (画像提供:robert.muehsig


4
あなたは外部プログラムを必要としないので、私はこの解決策が最高だと思います!
スポットAbraãoカルダス

貼り付ける前に、ここはconsole.logからコピーJSONを解決クリップボードに開発ツールインチ 願っています。
シャイユット

10

Visual StudioにWeb Essentialsをインストールする場合は、編集=>過去の特殊=>クラスとしてJSONを貼り付けることができます。

それがおそらく最も簡単です。

Web Essentials:http : //vswebessentials.com/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.