2013-07-30 4 views
0

J'utilise jackson 1.9.11.Aide Jackson JSON (Serializer)

Je dois créer un JSON comme suit:

"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" 
    } 
] 
} 

] 

J'ai un HashMap avec: "items" = List<Batch>

Chaque lot les variables suivantes: lot, List<Students>

J'ai besoin d'évaluer: " full "basé sur certaines valeurs dans un HashMap (cette Map est créée en utilisant des classes auxiliaires).

« numStudents » est List<Students>.size()

« id » est « section » joint en annexe avec l'indice de ce lot dans List<Batch>

Maintenant, le problème est que je ne peux pas modifier ces classes car ils font partie d'une bibliothèque . Comment puis-je résoudre ce problème?

Répondre

0

Vous pouvez atteindre vos objectifs de deux façons: simple et complexe.

simple:

Vous pouvez créer de nouvelles classes POJO avec des champs dont vous avez besoin. Après cela, vous devez convertir vos objets de bibliothèque en nouveaux objets POJO et enfin, sérialiser en utilisant la bibliothèque Jackson ou Gson.

Complexe:

Vous pouvez écrire un nouveau sérialiseur/désérialiseur pour vos classes de bibliothèque, mais cette solution est beaucoup plus compliquée.

Liens utiles: