Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jackson serialization with ObjectMapper in java

Tags:

java

jackson

I want to serialize the different types of lists by using object mapper, but I do not know how to pass the different types of list objects into object Mapper at a time. The following is my code:

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

ObjectMapper objMapper;
objMapper.writeValueAsString(?)--

Would You please suggest what I have to pass instead of ? in above code. This is because of i have to get the jackson serialized string that includes above lists as a single string in jsp and parse that string to get individual lists to be used at client side.

like image 999
M.S.Naidu Avatar asked Mar 20 '13 10:03

M.S.Naidu


People also ask

Is ObjectMapper thread-safe Jackson?

Jackson's ObjectMapper is completely thread safe and should not be re-instantiated every time #2170.

What does Jackson ObjectMapper do?

The Jackson ObjectMapper can parse JSON from a string, stream or file, and create a Java object or object graph representing the parsed JSON. Parsing JSON into Java objects is also referred to as to deserialize Java objects from JSON. The Jackson ObjectMapper can also create JSON from Java objects.

Does Jackson use Java serialization?

Note that Jackson does not use java.

What is use of ObjectMapper in Java?

ObjectMapper provides functionality for reading and writing JSON, either to and from basic POJOs (Plain Old Java Objects), or to and from a general-purpose JSON Tree Model ( JsonNode ), as well as related functionality for performing conversions.


1 Answers

Simply try:

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

Edit according to the comment:

You need to create a class wrapping your two lists and then write it:

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);
like image 77
Jean Logeart Avatar answered Oct 20 '22 10:10

Jean Logeart