Ich arbeite an einer REST-API in ASP.NET MVC, wo der resultierende serialisierte JSON verwendet Kleinbuchstaben_underscore für Attribute.Benutzerdefinierte Json.NET Contract Resolver für Kleinbuchstaben Unterstrich zu CamelCase
Von einer Klasse Person
mit String-Eigenschaften FirstName
und Surname
, erhalte ich JSON wie folgt:
{
first_name: "Charlie",
surname: "Brown"
}
Beachten Sie die lowercase_underscore Namen.
Der Vertrag Resolver Ich benutze diese Umwandlung automatisch für mich zu tun ist:
public class JsonLowerCaseUnderscoreContractResolver : DefaultContractResolver
{
private Regex regex = new Regex("(?!(^[A-Z]))([A-Z])");
protected override string ResolvePropertyName(string propertyName)
{
return regex.Replace(propertyName, "_$2").ToLower();
}
}
Das alles funktioniert gut, aber ich weiß nicht, wie die Rückseite mit Json.NET zu implementieren. So dass zum Beispiel kann ich eine API-Methode wie folgt deklarieren, und sie weiß, eingehende JSON in der Anfrage Körper an das entsprechende Objekt zu konvertieren:
public object Put(int id, [FromBody] Person person)