Spring 3使用Jackson将ArrayList序列化为JSON而不包装到对象(没有名称)
我有简单的资源,它应该返回JSON数组,但它返回的对象是数组:
@RequestMapping(value = "/types", method = RequestMethod.GET) public List types() { ArrayList list=new ArrayList(); list.add(new JsonObject("Audi")); list.add(new JsonObject("Mercedes")); return list; }
其中JsonObject是具有三个String atributes(value,id,label)的简单类。
返回:
{"jsonObjectList":[{"value":"Audi","id":"Audi","label":"Audi"},{"value":"Mercedes","id":"Mercedes","label":"Mercedes"}]}
但我需要的是(因为它是Jquery UI自动完成预期):
[{"value":"Audi","id":"Audi","label":"Audi"},{"value":"Mercedes","id":"Mercedes","label":"Mercedes"}]
怎么实现呢? 提前致谢。
在Spring 3.1中,您应该能够将MappingJacksonJsonView
bean上名为extractValueFromSingleKeyModel
的属性设置为true
以删除包装器。
哦,好像之前已经问到为什么jackson用一个以课堂命名的额外层来包裹我的物体?