对于java的JSON库,我有一个问题,如果我只得到一条记录的JSON,我没有添加[],但是如果我添加了多条记录的话。
这是来自SQL查询的代码:
while (oResultSet.next()) {
JSONObject list = new JSONObject();
list.accumulate("nombre", oResultSet.getString("nombre"));
list.accumulate("goles", oResultSet.getInt("goles"));
json.accumulate("list", list);
}
return json;一个例子,如果你有不止一张唱片,什么能让我回来?
{"list":[{"nombre":"Josele","goles":5},{"nombre":"Edu","goles":4}]}现在是一个只有一个记录的例子
{"list":{"nombre":"Eduard","goles":2}}如您所见,他缺乏[],在创建json失败时,我也希望以manerjar的形式出现。
我希望当我有一张唱片的时候
谢谢你的关注
发布于 2014-03-03 21:19:33
答案是:不要使用.accumulate(),因为这正是它所做的。
在循环之前显式地创建并添加一个JSONArray到您的json对象。在循环中,检索它并添加到它中:
JSONObject json = new JSONObject();
json.put("list", new JSONArray());
...
while (oResultSet.next()) {
JSONObject obj = new JSONObject();
obj.accumulate("nombre", oResultSet.getString("nombre"));
obj.accumulate("goles", oResultSet.getInt("goles"));
json.getJSONArray("list").add(obj);
}https://stackoverflow.com/questions/22157390
复制相似问题