@SerializedNameGsonを使用したAndroid でのアノテーションの基本的な目的は何ですか?
いくつかの例を挙げてください。利用の主な目的がわかりません。
@SerializedNameGsonを使用したAndroid でのアノテーションの基本的な目的は何ですか?
いくつかの例を挙げてください。利用の主な目的がわかりません。
回答:
Javaクラスの例
public class Person {
    @SerializedName("name")
    private String personName;
    @SerializedName("bd")
    private String birthDate;
}
このクラスには、人の名前と生年月日を表す2つのフィールドがあります。これらのフィールドには、@ SerializedNameアノテーションが付けられています。このアノテーションのパラメーター(値)はserialising、deserialisingオブジェクトおよびオブジェクトで使用される名前です。たとえば、JavaフィールドpersonNameは、JSON では名前として表されます。
JSONの例、
{
    "name":"chintan",
    "bd":"01-01-1990"
}
Jsonは役に立ちました
                    すでにいくつかの回答がありますがProGuard、コードを難読化するために使用@SerializedName("name")していて、モデルクラスで使用しない場合、GSONは機能しません。難読化が原因で、GSONがjson へのキーを検索して失敗するため、変数名がからString nameに変わり、String aGSONの解析が壊れる可能性がありますa。
を指定すると@SerializedName、GSONは変数名に基づいてjsonを検索せず、指定され@SerializedNameたものを使用します。
もちろん、モデルを難読化しないようにproguardに指示できますが、モデルを難読化したい場合は、次のように指定する必要があります。 @SerializedName