我使用简简单单
我正在尝试为jqgrid创建JSON对象。数据被添加,但是正确,但是第二条记录被覆盖。
ArrayList resList = connect.statement_query(sql, para);
jsonObject = new JSONObject();
jsonObject.put("total", resList.size()/para.length);
jsonObject.put("page", 1);
jsonObject.put("records", resList.size()/para.length);
JSONArray cellArray = new JSONArray();
JSONArray cell = new JSONArray();
JSONObject cellObj = new JSONObject();
for (int i = 0; i < resList.size(); i += para.length) {
cellObj.put("id", resList.get(i));
JSONArray temp=new JSONArray();
temp.add(resList.get(i));
temp.add(resList.get(i + 1));
temp.add(resList.get(i + 2));
temp.add(resList.get(i + 3));
temp.add(resList.get(i + 4));
cell=temp;
cellObj.put("cell", cell);
System.out.println("Cell Obj: "+cellObj.toJSONString());
cellArray.add(cellObj);
System.out.println("Cell Array: "+cellArray.toJSONString());
//cellObj.clear();
temp.clear();
}
System.out.println("Cell Array-Out: "+cellArray);
jsonObject.put("rows", cellArray);结果如下:
Cell Obj: {"id":"1000","cell":["1000","BE6K","vshekhar","2014-06-02","N\/A"]}
Cell Array: [{"id":"1000","cell":["1000","BE6K","vshekhar","2014-06-02","N\/A"]}]
Cell Obj: {"id":"1001","cell":["1001","BOA","maahamad","2013-05-01","N\/A"]}
Cell Array: [{"id":"1001","cell":["1001","BOA","maahamad","2013-05-01","N\/A"]},{"id":"1001","cell":["1001","BOA","maahamad","2013-05-01","N\/A"]}]
Cell Array-Out: [{"id":"1001","cell":[]},{"id":"1001","cell":[]}]发布于 2014-06-25 06:13:12
( 1)对于被书写的物体来说-
您需要在for循环中恢复cellObj。
对于(int = 0;i< resList.size();i += para.length) {
cellObj =新的JSONObject();
2)细胞变得空白-
您正在通过“temp.clear()”清除temp;Cell正在引用temp,而temp被清除,这就是您获得空白数据的原因。
您可以删除temp.clear()代码。
https://stackoverflow.com/questions/24401059
复制相似问题