15

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

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

ObjectMapper objMapper;
objMapper.writeValueAsString(?)--

の代わりに渡さなければならないものを教えてください。上記のコードで。これは、JSP で上記のリストを単一の文字列として含むジャクソンのシリアル化された文字列を取得し、その文字列を解析して、クライアント側で使用される個々のリストを取得する必要があるためです。

4

1 に答える 1

24

単に試してください:

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

コメントに従って編集します。

2 つのリストをラップするクラスを作成してから、次のように記述する必要があります。

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);
于 2013-03-20T11:00:55.093 に答える