Thanks to all for your answers. I solved it by creating new DTO which contains :
private ProductEntity
private Integer
fields.
質問
I have custom Entity that i want to put as Json to my view page
But when i serialize it in map using ObjectMapper from Jackson i receive String created from toString() method
@Test
public void test() throws JsonProcessingException {
Map<ProductEntity, Integer> map = new HashMap<ProductEntity, Integer>();
ProductEntity prod = new ProductEntity();
prod.setIdProduct(1);
map.put(prod, 1);
ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.writeValueAsString(map));
}
Received: {"com.onlineshop.entity.ProductEntity@2":1} where "com.onlineshop.entity.ProductEntity@2" is a String, not an object.
So how can i make it to be an Object?
I need exactly Map, not another type of Collection
解決 2
Thanks to all for your answers. I solved it by creating new DTO which contains :
private ProductEntity
private Integer
fields.
他のヒント
You either need to annotate your ProductEntity
object so Jackson knows how to serialize it or use a Mix In annotation if you are not able to modify the ProductEntity
class. IIRC there are also global Jackson options you can set that tell it how to handle POJOs.
Since you didn't specify which version of Jackson you're using I can't link to the correct documents but there is a ton of information available on the Jackson sites on how to use annotations and mix ins.