2016-07-08 15 views
0

Ich erstelle eine JSON-Konfiguration, um ein Dashboard mit mehreren Widgets zu erstellen. Ich werde diese JSON-Datei lesen und Pojo daraus mit Gson erstellen. Die Struktur der Java-Klassen ist wie:Verwirrung in JSON-Struktur

public class Widgets { 
    //Some other variables 
    private List<Widget> widgets = new ArrayList<>(); 
    //some more variables and methods 
} 
public interface Widget{} 
public class MeterWidget implements Widget{ 
    //some meter widget variables 
} 
public class GraphWidget implements Widget{ 
    //some graph widget variables 
} 

Jetzt möchte ich mögliche Widgets in json mit mehreren Widgets von der gleichen Art erklären. So etwas wie unten:

{ 
    "widgets": [ 
    { 
     "meterWidget": { 
     }, 
     "meterWidget": { 
     }, 
     "graphWidget": { 
     } 
    } 
    ] 
} 

Ich weiß, das json ist nicht korrekt, da wir nicht mehrere Artikel mit dem gleichen Namen (meterWidget in diesem Fall) in einem einzigen Objekt haben können, aber ich kann nicht glauben, von jeder Struktur das wird mir bei der obigen Klassenstruktur helfen. Auch Widgets in einem Array sind nicht notwendig, da ich in dieser Struktur keine Reihenfolge einhalte. Bitte helfen Sie.

Dank Raman

Antwort

1

Sie könnten der Typ sein, ein Parameter in json wie dieses:

{ 
    "widgets": [ 
     { 
      "type": "meterWidget", 
      "someParam": "stuff" 
     }, 
     { 
      "type": "meterWidget", 
      "someParam": "stuff" 
     } 
    ] 
}