2017-07-12 5 views
1

Wie kann ich serialisiert ein Objekt mit Format folgendenWie wird ein JSON mit einem Objektschlüssel als ID serialisiert?

"Ebene": { "3": "abc", "1": "ddf"}

I Gson für die Serialisierung bin mit ?

+0

Sie immer 'JSONObject' verwenden verwenden können. –

+1

Machen Sie ein hashmap des Schlüsselwertpaares, um inneren Inhalt zu erzeugen ({"3": "abc", "1": "ddf"}) ... und dann am Ende setzen Sie das in JSONObject mit Schlüsselniveau ... –

+0

Sie können benutzerdefinierte Deserializer (Serializer) erstellen –

Antwort

1

können Sie Klasse auf diese Weise erstellen und @SerializedName (KEY)

public static class Parent { 

    Level level; 

    public Level getLevel() { 
     return level; 
    } 

    public void setLevel(Level level) { 
     this.level = level; 
    } 

    public static class Level { 
     @SerializedName("1") 
     String valueOne; 
     @SerializedName("2") 
     String valuethree; 

     public String getValueOne() { 
      return valueOne; 
     } 

     public void setValueOne(String valueOne) { 
      this.valueOne = valueOne; 
     } 

     public String getValuethree() { 
      return valuethree; 
     } 

     public void setValuethree(String valuethree) { 
      this.valuethree = valuethree; 
     } 
    } 
} 

und

//initial 
Gson gson = new Gson(); 
Parent parent = new Parent(); 
Parent.Level level = new Parent.Level(); 
//set value 
level.setValueOne("abc"); 
level.setValuethree("ddf"); 
parent.setLevel(level); 

//convert to String 
String str = gson.toJson(parent); 
Log.i("=============", str); 
+1

1,2 sind nicht statische Schlüssel. Das ist dynamisch, Hashmap funktioniert für meinen Fall, danke für die Hilfe – Anu

Verwandte Themen