Rica ederim. JsonProperty ile JsonConverter aynı kütüphane içinde çalışan ayrı işe yarayan yapılar.
String'i object'e, Object'i de String'e JsonConverter altındaki Serialize ve Deserialize ile çevirebiliriz.Ancak; Sizin json değerindeki "1", "2"... gibi isimlendirmeler c# property isimlendirme kuralına uymadığı için JsonProperty ile sınıftaki property'lere geçici isim veriliyor. JsonConvert ile serialize veya deserialize ederken direkt olarak JsonProperty'de tanımlanan isimi kullanıyor.
Diğer bir örnek vermek gerekirse;
Diyelim ki halka açık bir json stringin var. Ama bu string içerisindeki property isimlerini herkesin bilmesini istemiyorsun. Çünkü json değerindeki isimlendirmeler binevi senin arkaplandaki sınıflarının property isimlerine denk geliyor.
Bu durumda isimleri JsonProperty kullanarak geçici isim verebilirsin.
Json: "{'HerkeseAcikAd':1}"
c#:
sınıf{
[JsonProperty("
HerkeseAcikAd")]
public int GizliAd;
}
Umarım kısa ve öz açıklayıcı olmuştur.
Teşekkürler.
Bu şekilde yazdığım kod işe yaradı.
JsonConverter ile JsonProperty konusuna tekrar çalışmam gerek aradaki farkı anlamak için.