@GET
@Produces("application/json")
@Consumes("application/json")
@Path("/getStuff/{id}")
public String getStuff(
@PathParam("id") String id,
@Context HttpServletRequest request,
@Context HttpServletResponse response) throws Exception
{
Collection<Stuff> stuff = Manager.getStuff().values();
JSONArray jArray = new JSONArray();
for (Stuff i : stuff)
{
jsnObjct.put("id", i.getId());
jsnObjct.put("name", i.getName());
jArray.add(jsnObjct);
}
json = jArray.toString();
response.setContentType("text/javascript");
response.getOutputStream().print(json);
response.flushBuffer();
return null;
}
答案 0 :(得分:2)
我猜你正在使用net.sf.json库吗?如果是这样,我会尝试类似下面的内容。我不确定这是否可行,但如果确实有效,那将是迄今为止最简单的方法。不幸的是我不太熟悉那个库所以我不确定具体的细节(你可以跳过第二个JSONArray的创建 - 不确定add(int,Object)是否将对象向下推或覆盖它们) :
Object[] myArray = jArray.toArray();
myArray = Arrays.sort(myArray);
JSONArray sortedJArray = new JSONArray();
for (Object obj : myArray) {
sortedJArray.add(obj);
}