首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java的json-lib库出错。

java的json-lib库出错。
EN

Stack Overflow用户
提问于 2014-03-03 21:04:05
回答 1查看 78关注 0票数 0

对于java的JSON库,我有一个问题,如果我只得到一条记录的JSON,我没有添加[],但是如果我添加了多条记录的话。

这是来自SQL查询的代码:

代码语言:javascript
复制
        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;

一个例子,如果你有不止一张唱片,什么能让我回来?

代码语言:javascript
复制
   {"list":[{"nombre":"Josele","goles":5},{"nombre":"Edu","goles":4}]}

现在是一个只有一个记录的例子

代码语言:javascript
复制
   {"list":{"nombre":"Eduard","goles":2}}

如您所见,他缺乏[],在创建json失败时,我也希望以manerjar的形式出现。

我希望当我有一张唱片的时候

谢谢你的关注

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-03 21:19:33

答案是:不要使用.accumulate(),因为这正是它所做的。

在循环之前显式地创建并添加一个JSONArray到您的json对象。在循环中,检索它并添加到它中:

代码语言:javascript
复制
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);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22157390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档