如何从JSON对象字符串自动生成C#类文件

时间:2014-02-06 19:01:38

标签: c# json code-generation

给出以下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; }
}

我们已经看过这些问题:

Generate C# classes from JSON Schema询问JSON Schema可能是一种在未来使用的方法。

Benefits and drawbacks of generated C# classes for Json objects

3 个答案:

答案 0 :(得分:125)

三个选项:

  • 使用免费的json2csharp网络工具,无需安装任何内容。

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

  • 使用免费的jsonclassgenerator。exe

优点和缺点:

答案 1 :(得分:90)

Visual Studio 2012(安装了ASP.NET和Web Tools 2012.2 RC)支持此natively

Visual Studio 2013以后就有这个内置功能。<​​/ p>

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

答案 2 :(得分:9)

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

这可能是最简单的。

Web Essentials:http://vswebessentials.com/