是否只能在字段中使用自定义方法?我可以使用JsonConver做到这一点。我只需要创建由JsonConverter扩展的自定义类并覆盖方法JsonWriter,因此可以在我的属性中用自定义类进行标记。
使用Json的示例:
public class CustomSerializer: JsonConverter
{
public int Value {get; set;}
public CustomSerializer(int value){
Value = value;
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
// here my custom deserializer and i can use my prop Value
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
// Here my custom serializer and i can use my prop Value
}
}
在使用JsonConverter的模型中,我可以这样做:
public class Person
{
[JsonConverter(typeof(CustomSerializer))]
public String Name{ get; set; }
}
因此,当使用JsonConvert对对象进行序列化或反序列化时,只有修饰的字段将接受自定义处理。
在搜索中,我找到了可以扩展的IXmlSerializer,但不适用于原始值。