Configure class and member name casing (lowerCamel

2019-07-30 07:45发布

问题:

Consider this JSON:

{
    "firstName": "John",
    "lastName": "Doe",
    "homeAddress": {
        "streetAddress": "123 Main St",
        "city": "Boston",
        "state": "MA",
        "postalCode": "02110"
    },
    "employmentInfo": {
        "employerName": "ABC, Co.",
        "phoneNumber": "617-555-5555"
    }
}

In VS I can use the "Paste JSON as Classes" from "Edit > Paste Special". This is what results:

public class Rootobject
{
    public string firstName { get; set; }
    public string lastName { get; set; }
    public Homeaddress homeAddress { get; set; }
    public Employmentinfo employmentInfo { get; set; }
}

public class Homeaddress
{
    public string streetAddress { get; set; }
    public string city { get; set; }
    public string state { get; set; }
    public string postalCode { get; set; }
}

public class Employmentinfo
{
    public string employerName { get; set; }
    public string phoneNumber { get; set; }
}

Notice a couple things: 1.) the class names all have an initial uppercase character and then all lowercase, and 2.) the properties are all lowerCamelCase.

Number 1 doesn't make any sense. Why would it behave that way, is there an official reason? Number 2 makes sense, but I'd like to be able to change the behavior so my compiler doesn't complain about naming my properties wrong.

Is there a way to adjust this behavior?