2013-03-20 30 views
11

Desidero serializzare i diversi tipi di elenchi utilizzando il programma di mappatura degli oggetti, ma non so come trasferire tipi diversi di oggetti elenco in oggetto Mapper alla volta. Quello che segue è il mio codice:serializzazione Jackson con ObjectMapper in java

AccountingService accService  = ServiceFactory.getAccountingService(); 
List<TaxCategory> taxCategoryList = accService.getAllTaxCategories(); 
ProductService productService  = ServiceFactory.getProductService(); 
List<SimpleUom> simpleUomList  = productService.getSimpleUomsList(); 

ObjectMapper objMapper; 
objMapper.writeValueAsString(?)-- 

Vorresti suggerire cosa devo passare invece di? nel codice sopra. Ciò è dovuto al fatto che devo ottenere la stringa serializzata di jackson che include gli elenchi precedenti come una stringa singola in jsp e analizzare quella stringa per ottenere singoli elenchi da utilizzare sul lato client.

+1

Vorrete mettere queste liste in un oggetto wrapper di qualche tipo. Altrimenti avrete un sacco di tempo cercando di analizzare i diversi tipi di articoli sul lato client. – Perception

risposta

22

Semplicemente provare:

ObjectMapper objMapper = new ObjectMapper(); 
String jsonString = objMapper.writeValueAsString(simpleUomList); 

Edit in base al commento:

È necessario creare una classe di afferrare con le due liste e poi scriverlo:

public class MyLists { 
    private List<TaxCategory> taxCategoryList; 
    private List<SimpleUom> simpleUomList; 
    // + constructor, getters and setters 
} 

ObjectMapper objMapper = new ObjectMapper(); 
MyLists myLists = new MyLists(taxCategoryList, simpleUomList); 
String jsonString = objMapper.writeValueAsString(myLists); 
+0

Si ringrazia per la risposta, ma voglio inviare entrambe le liste contemporaneamente in objMapper.writeValueAsString (taxCategoryList + simpleUomList); –

+0

Ho modificato la mia risposta –

Problemi correlati