2016-07-08 7 views
0

Я создаю конфигурацию json для создания панели с несколькими виджетами. Я прочитаю этот json-файл и создаю pojo из него с помощью Gson. Структура классов Java, как:Confusion in Json Structure

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 
} 

Теперь я хочу объявить виджеты в формате JSON с несколькими виджетами того же рода возможно. Что-то, как показано ниже:

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

Я знаю, что это JSON не является правильным, поскольку мы не можем иметь несколько элементов с таким же именем (meterWidget в данном случае) внутри одного объекта, но я не могу думать о каких-либо структурах что поможет мне с классовой структурой выше. Кроме того, наличие виджета в массиве не требуется, так как я не поддерживаю какой-либо порядок в этой структуре. Пожалуйста помоги.

Благодаря комбинационное

ответ

1

Вы могли бы иметь тип быть параметром в JSON как это:

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

 Смежные вопросы

  • Нет связанных вопросов^_^