2013-03-20 23 views
11

オブジェクトマッパーを使用してさまざまな種類のリストをシリアル化する必要がありますが、 オブジェクトのさまざまなタイプを一度にオブジェクトMapperに渡す方法がわかりません。以下は、私のコードです:JavaのObjectMapperを使用したJacksonのシリアル化

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

ObjectMapper objMapper; 
objMapper.writeValueAsString(?)-- 

あなたは、私が代わりにに合格しなければならないものを提案してくださいますか?上記のコードで。これは、jspで単一の文字列として上記のリストを含むjsonsonのシリアル化された文字列を取得し、その文字列を解析してクライアント側で使用する個別のリストを取得する必要があるためです。

+1

これらのリストをある種のラッパーオブジェクトに入れたいと思っています。それ以外の場合は、クライアント側でさまざまなアイテムタイプを解析しようとしています。 – Perception

答えて

22

単純に試してみてください。

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

編集コメントによると:

あなたは二つのリストをラップするクラスを作成し、それを記述する必要があります。

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

あなたの応答はThanskですが、私は同時にリストを両方ともobjMapper.writeValueAsString(taxCategoryList + simpleUomList)に送りたいと思います。 –

+0

私の答えを編集しました –

関連する問題