8
結果のシリアル化されたJSONが属性にlowercase_underscoreを使用するASP.NET MVCでREST APIを使用しています。文字列プロパティFirstName
とSurname
とクラスPerson
からCamelCaseへの小文字のアンダースコアのカスタムJson.NETコントラクトリゾルバ
次のように、私はJSONを取得する:
{
first_name: "Charlie",
surname: "Brown"
}
はlowercase_underscore名に注意してください。
私は私のために、自動的にこの変換を行うために使用契約リゾルバは次のとおりです。
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();
}
}
このすべてが正常に動作しますが、私はJson.NETと逆を実装する方法がわかりません。たとえば、APIメソッドを次のように宣言すると、要求本体の着信JSONを適切なオブジェクトに変換することができます。