spring3 mvc 中如何控制json的输出格式

我用的是spring3内置的json视图,但是它返回的结构不是我想要的比如:
{"menuList":[{"id":"185","name":"流程定义"}],{"id":"185","name":"流程定义"}]}

我想让它返回

[{"id":"185","name":"流程定义"}],{"id":"185","name":"流程定义"}]

这种结构的json格式。该怎么办?

谢谢

只要你用了 @ResponseBody
那么最后return 一个Array或者List,那么客户端就能得到一个JSON数组。

或者自己操作Jackson(Sping使用Jackson来处理JSON),这样你爱返回什么就是什么:

[code="java"]
JsonGenerator jg = objectMapper().getJsonFactory().createJsonGenerator(response.getOutputStream(),JsonEncoding.UTF8);
jg.writeObject(retObject);
jg.flush();
[/code]

使用jsonObject.getJsonArray("menuList");直接就可以取到,返回的是一个array。

没有使用过spring的json视图。不过看问题似乎你要返回的是json数组,建议从数组的角度去看返回值。也就是说你可以尝试用获取数组的方式来获得结果看看。

注解到方法上@ResponseBody 就可以返回json格式的数据

使用google的 GSON 很方便
会很方便的返回你想要的格式 比如

Gson gson = new Gson();
Employee employee = new Employee();
//Object ---> Json
System.out.println(gson.toJson(employee));

你的的json表达式有没有问题啊

9' or 1=1 ;//