Given the following JSON object,

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

what is a tool to auto-generate the following C# class?

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; } } 

We have already looked at these questions:

Generate C# classes from JSON Schema Is asking about JSON Schemas which may be an approach to use down the road.

Benefits and drawbacks of generated C# classes for Json objects

6

3 Answers

Five options:

Pros and Cons:

  • jsonclassgenerator converts to PascalCase but the others do not.

  • app.quicktype.io has some logic to recognize dictionaries and handle JSON properties whose names are invalid c# identifiers.

5

Visual Studio 2012 (with ASP.NET and Web Tools 2012.2 RC installed) supports this natively.

Visual Studio 2013 onwards have this built-in.

Visual Studio Paste JSON as Classes screenshot (Image courtesy: robert.muehsig)

2

If you install Web Essentials into Visual studio you can go to Edit => Past special => paste JSON as class.

That is probably the easiest there is.

Web Essentials:

0