2015-03-10 12 views
45

kullanan Android içinde @SerializedName ek açıklamanın temel amacının ne. Farklı bir web sitesinde kontrol ettim ama bunun temel amacı neyin olduğunu anlayamıyorum.herkes bana bazı farklı örnek verin <strong>GSON</strong></p> <p>kullanarak android içinde <strong>@SerializedName</strong> açıklama temel amacı nedir bana söyleyebilir GSON

+0

javadoc ne diyor belirtmelisiniz? –

+0

Ne dendiğini anlayamıyorum? –

+0

, bu özelliğin json verilerine ait olduğu özellik belirtecini tanımlayacaktır –

cevap

123

Java sınıfı örneği,

public class Person { 

    @SerializedName("name") 
    private String personName; 

    @SerializedName("bd") 
    private String birthDate; 

} 

Bu sınıf kişi adını ve bir kişinin doğum tarihini temsil eden iki alana sahiptir. Bu alanlara @SerializedName ek açıklaması eklenmiştir. Bu ek açıklamanın parametresi (değeri), serialising ve deserialising nesneleri kullanıldığında kullanılacak addır. Örneğin, personName Java alanı JSON'da adı olarak temsil edilir.

JSON örneği,

{ 
    "name":"chintan", 
    "bd":"01-01-1990" 
} 
+2

zamanımdan tasarruf için çok teşekkür ederim –

+1

@MuhammadAli size yardımcı olmaktan onur duyuyorum. Ayrıca bana sonv tarafından kredi verebilir ve sevgili cevabını kabul edebilirim :) –

+2

Olumsuz seçmenler, lütfen aşağıya oylamanın amacı ne olduğunu anlayabilmem için yorum ekle ve cevabımı geliştirebilirim .. :) –

4

zaten birkaç cevaplar var burada, ama ben o zaman, modeliniz sınıfında kodunuzu Obfuscate için ProGuard kullanıyorsanız & @SerializedName("name") kullanmamanızı eklemek istiyorum senin GSON çalışmayacak. Çünkü gizleme nedeniyle değişken isimleriniz String name ile String a arasında değişmiş olabilir ve bu durum GSON'un a anahtarını json &'a çevireceğinden, bu işlem başarısız olacaktır.

@SerializedName belirtilerek, GSON, & değişken adına bağlı olarak json'da görünmeyecektir, yalnızca belirtilen @SerializedName'u kullanır.

Of Course modelinizi karartmak değil, ProGuard söyleyebilir ama modeli Karartılmış istiyorum, o zaman @SerializedName

İlgili konular