Gson, wie man serialisierte Namen

Wenn wir definieren eine Klasse mit dem folgenden format

public class Field {
    @SerializedName("name")
    public String name;
    @SerializedName("category")
    public String category;

}

für die JsonObject Inhalt

{
    "name" : "string",
    "category" : "string",
}

und mit Gson zu analysieren, den Inhalt

Field field = new GsonBuilder().create().fromJson(
                content, Field.class);

So,meine Frage ist, können wir Gson um die @Serialized Namen. In diesem Beispiel möchte ich wissen, was @Serialized name wird verwendet für die field.name,die name und für field.category die category.

Als pro-vorgeschlagen von @Sotirios Delimanolis, mit Reflection können wir die Serialized Namen

java.lang.reflect.Field fields = Field.class.getDeclaredField("name");             
SerializedName sName =fields.getAnnotation(SerializedName.class);            
System.out.println(sName.value()); 
  • wenn wir "name" dann gibt es keine Notwendigkeit zur Reflexion und immer den Wert. gibt es eine Möglichkeit zu bekommen, nur aus Feld-wie einfach mit der variable name ohne tatsächlich über die Zeichenkette "Namen"
InformationsquelleAutor laaptu | 2014-06-09
Schreibe einen Kommentar