web-dev-qa-db-ja.com

JSONオブジェクト文字列からC#クラスファイルを自動生成する方法

次の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#クラスの利点と欠点

95
Shaun Luttin

3つのオプション:

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

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

  • 無料の jsonclassgenerator 。exeを使用します

長所と短所:

128
Shaun Luttin

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

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

Visual Studio Paste JSON as Classes screenshot(画像提供: robert.muehsig

91
Mrchief

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

これがおそらく最も簡単な方法です。

Web Essentials: http://vswebessentials.com/

9
Kenneth