2013-07-30 4 views
0

Я использую jackson 1.9.11.Помощь Jackson JSON (Serializer)

Мне нужно создать JSON следующим образом:

"items": [ 
{ 
"batch": "sectionA", 
"id": "section1", 
"full": "N", 
"numStudents": 2, 
"students": [ 
    { 
     "name": "John", 
     "married": "Y" 

    }, 
    { 
     "name": "Mary", 
     "married": "N" 
    } 
] 
}, 
{ 
"batch": "sectionB", 
"id": "section2", 
"full": "Y", 
"numStudents": 3, 
"students": [ 
    { 
     "name": "John", 
     "married": "Y" 

    }, 
    { 
     "name": "Mary", 
     "married": "N" 
    }, 
    { 
     "name": "Sam", 
     "married": "N" 
    } 
] 
} 

] 

У меня есть HashMap с: "items" = List<Batch>

Каждый Batch следующие переменные: партия, List<Students>

мне нужно оценить: " полный "на основе некоторых значений в HashMap (эта карта создается с использованием некоторых вспомогательных классов).

«numStudents» является List<Students>.size()

«Идентификатор» является «раздел» добавляется с индексом этой партии в List<Batch>

Теперь проблема заключается в том, что я не могу изменить эти классы, поскольку они являются частью библиотеки , Как мне решить эту проблему?

ответ

0

Вы можете достичь своих целей двумя способами: простым и сложным.

Простой:

Вы можете создавать новые классы POJO с полями, которые вам нужны. После этого вам нужно преобразовать объекты библиотеки в новые в новые объекты POJO и, наконец, сериализовать их, используя Jackson или Gson.

комплекса:

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

Полезные ссылки:

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