CreateProperties metodu
Örnek
Elimizde şöyle bir sınıf olsun
Örnek
Elimizde şöyle bir sınıf olsun
class LongNameContractResolver : DefaultContractResolver
{
protected override IList<JsonProperty> CreateProperties(Type type,alo
MemberSerialization memberSerialization)
{
// Let the base class create all the JsonProperties
// using the short names
IList<JsonProperty> list = base.CreateProperties(type, memberSerialization);
// Now inspect each property and replace the
// short name with the real property name
foreach (JsonProperty prop in list)
{
prop.PropertyName = prop.UnderlyingName;
}
return list;
}
}
Şu sınıfı Json'a çevirmek isteyelim.class Foo
{
[JsonProperty("cust-num")]
public string CustomerNumber { get; set; }
[JsonProperty("cust-name")]
public string CustomerName { get; set; }
}
Şöyle yaparızJsonSerializerSettings settings = new JsonSerializerSettings();
settings.Formatting = Formatting.Indented;
settings.ContractResolver = new LongNameContractResolver();
return JsonConvert.SerializeObject(obj, settings);
JsonProperty nesnesinin PropertyName alanını değiştirdiğimiz için belirtilen isimler yerine alanın kendi ismi kullanılır. Çıktı olarak şunu alırız.{
"CustomerNumber": "BG60938",
"CustomerName": "Bubba Gump Shrimp Company"
}
Hiç yorum yok:
Yorum Gönder