我用的是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 ;//