为什么我的JSON数组中只有最后一个json元素?
这是我的代码:
@GET
@Path("inregistrareHarta")
@Produces(MediaType.APPLICATION_JSON)
public void getListPuncte(@QueryParam("idTransporturi") int idTransporturi)
{
PuncteDAO puncteInformation = new PuncteDAO();
ArrayList<Puncte> puncteList = puncteInformation.getPuncte(idTransporturi);
Gson gson = new Gson();
JsonArray arrayObj=new JsonArray();
for(int i=0;i<puncteList.size();i++)
{
Puncte puncte = puncteList.get(i);
JsonElement puncteObj = gson.toJsonTree(puncte);
arrayObj.add(puncteObj);
}
JsonObject myObj = new JsonObject();
myObj.add("puncteList", arrayObj);
System.out.println(myObj.toString());
}这是我得到的结果:
{"puncteList":
[
{"idPuncte":7,"idTransport":2,"latitudine":190.0,"longitudine":150.0,"descriere":"2_4"},
{"idPuncte":7,"idTransport":2,"latitudine":190.0,"longitudine":150.0,"descriere":"2_4"},
{"idPuncte":7,"idTransport":2,"latitudine":190.0,"longitudine":150.0,"descriere":"2_4"},
{"idPuncte":7,"idTransport":2,"latitudine":190.0,"longitudine":150.0,"descriere":"2_4"}
]
}这就是我所期待的结果:
{"puncteList":
[
{"idPuncte":4,"idTransport":2,"latitudine":19.0,"longitudine":0.0,"descriere": "2_1"},
{"idPuncte":5,"idTransport":2,"latitudine":10.0,"longitudine": 50.0,"descriere":"2_2"},
{"idPuncte":6,"idTransport":2,"latitudine":1.0,"longitudine":1.0,"descriere":"2_3"},
{"idPuncte":7,"idTransport":2,"latitudine":30.0,"longitudine":50.0,"descriere":"2_4"}
]
}发布于 2013-06-11 22:56:03
在您期望的输出中,结束]可能是一个打字错误。
您期望的输出是简单的,而不是有效的JSON表达式。你可以拥有这个:
[
"puncteList",
{"idPuncte":4,"idTransport":2,"latitudine":19.0,"longitudine":0.0,"descriere": "2_1"},
{"idPuncte":5,"idTransport":2,"latitudine":10.0,"longitudine": 50.0,"descriere":"2_2"},
{"idPuncte":6,"idTransport":2,"latitudine":1.0,"longitudine":1.0,"descriere":"2_3"},
{"idPuncte":7,"idTransport":2,"latitudine":30.0,"longitudine":50.0,"descriere":"2_4"}
]但是,如果"puncteList“是一个键,它必须有一个值:标量、数组或另一个对象。
https://stackoverflow.com/questions/17040528
复制相似问题