2016-02-29 5 views
0

Мне нужно создать JSON ответ в следующем формате:Есть ли лучший способ реализовать HashMap <String, List <HashMap <String, List <Details> >>>?

{"responseCode":"00", 
"responseMessage":"Success", 
"planList":[ 
    {"category":"category1", 
    "details":...} 
    {"category":"category2", 
    "details":...} 
    {"category":"category3", 
    "details":...} 
    ]} 

Я придумал HashMap<String, List<HashMap<String, List<Details>>>>, но я чувствую, что должен быть лучший способ сделать это. Пожалуйста помоги.

Заранее спасибо.

+0

Создайте свой собственный класс и инкапсулируйте сложные структуры данных. Наличие карты списков карт списка - не очень хорошая идея. Начните с 'HashMap ' где 'Response' - ваш собственный класс, который обертывает список, что имеет hashmap (который также может быть разделен на два класса). – Maroun

ответ

6

Я думаю, вам нужно создать классы с необходимыми полями. Например:

class MyResponse { 
    private String responseCode; 
    private String responseMessage; 
    private List<Category> categories; 
} 

class Category { 
    private String category; 
    private String details; 
} 

Это увеличит читаемость.

0

Вы можете писать классы для разных объектов в своем списке.

Например, класс Response:

class Response { 

    private String responseCode; 
    private String responseMessage; 

    private List<Category> categories; 
//.... 
} 

и класс Категория:

class Category { 

    private String categoryName; 
    private List<Details> 
    //... 
} 

Это должно работать с различными JSON-библиотек, таких как Gson или Джексон.

0

Вам необходимо создать отдельные классы для каждого элемента модели и получить полный ответ от этих кладов, например.

class Category {...} 

... 

another classes staff 

... 

class Response {...} 

где Response - класс окончательной реакции;

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