如何从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 Schema生成C#类询问JSON Schema,这可能是一种在未来使用的方法。

为Json对象生成的C#类的优点和缺点

Shaun Luttin asked 2019-08-19T02:08:27Z
3个解决方案
122 votes

三种选择:

  • 使用免费的json2csharp web工具而无需安装任何东西。

  • 如果您在Visual Studio中安装了Web Essentials,请使用编辑> 粘贴特殊> 将JSON粘贴为类。

  • 使用免费的jsonclassgenerator.exe

优点和缺点:

  • jsonclassgenerator转换为PascalCase但其他人没有。
Shaun Luttin answered 2019-08-19T02:09:08Z
89 votes

Visual Studio 2012(安装了ASP.NET和Web Tools 2012.2 RC)本机支持此功能。

Visual Studio 2013以上版本具有此内置功能。

Visual Studio Paste JSON as Classes screenshot(图片提供:robert.muehsig)

Mrchief answered 2019-08-19T02:09:47Z
9 votes

如果将Web Essentials安装到Visual Studio中,则可以转到Edit => 过去特殊=> 将JSON粘贴为类。

这可能是最简单的。

Web Essentials:[http://vswebessentials.com/]

Kenneth answered 2019-08-19T02:10:25Z
translate from https://stackoverflow.com:/questions/21611674/how-to-auto-generate-a-c-sharp-class-file-from-a-json-object-string