@SerializedNameGson kullanan Android'de ek açıklamanın temel amacı nedir?
Bana farklı örnekler ver. Kullanmanın temel amacını anlayamıyorum.
@SerializedNameGson 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 serialisingve deserialisingnesnelerde 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 ProGuardkodunuzu @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 namehiç String akı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.