@SerializedName
Gson kullanan Android'de ek açıklamanın temel amacı nedir?
Bana farklı örnekler ver. Kullanmanın temel amacını anlayamıyorum.
@SerializedName
Gson kullanan Android'de ek açıklamanın temel amacı nedir?
Bana farklı örnekler ver. Kullanmanın temel amacını anlayamıyorum.
Yanıtlar:
Java sınıfı örneği,
public class Person {
@SerializedName("name")
private String personName;
@SerializedName("bd")
private String birthDate;
}
Bu sınıf, kişinin adını ve doğum tarihini temsil eden iki alana sahiptir. Bu alanlar, @SerializedName ek açıklaması ile not edilir. Bu ek açıklamanın parametresi (değeri), ne zaman serialising
ve deserialising
nesnelerde kullanılacak addır . Örneğin, Java alan PERSONNAME olarak temsil edilir isim .
JSON Örneği,
{
"name":"chintan",
"bd":"01-01-1990"
}
Json
Burada zaten birkaç cevap var, ancak ProGuard
kodunuzu @SerializedName("name")
gizlemek için kullanıyorsanız ve model sınıfınızda kullanmıyorsanız, GSON'nuzun çalışmayacağını eklemek isterim. Şaşırtmaca nedeniyle, sizin değişken adları gelen değişmiş olabilir çünkü String name
hiç String a
kırık GSON GSON anahtarının arayacaktır olarak ayrıştırma içine çıkana
json içine & o başarısız olur.
Belirterek @SerializedName
, GSON değişken adına göre json bakmaz & sadece belirtilen kullanacaktır @SerializedName
.
Elbette proguard'a modelinizi şaşırtmamasını söyleyebilirsiniz, ancak modelin gizlenmesini istiyorsanız, o zaman şunu belirtmelisiniz: @SerializedName
Sınıfın üstünde @Keep belirterek Proguard'a veri sınıflarınızı şaşırtmaması talimatını verebilirsiniz. Bu, sınıfınızı ne ortadan kaldırır ne de şaşırtmaz. Alan adı, kendisi için kullanılan Json anahtarına benziyorsa, her alana açıkça @ SerileştirilmişAdı eklemenize gerek yoktur.