使用add属性将JSONObject添加到JSONArray java

时间:2018-06-05 12:50:49

标签: java json servlets

这是我的servlet代码。我想将我的json对象值添加到json数组中。我使用了add方法,但是我收到了一个错误。如何将该对象添加到我的数组?我的代码中有错误吗?

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) 
     throws ServletException, IOException {

    try {
        Session ses = HibernateSession.getSession();
        Criteria cr1 = HibernateSession.createCriteria(ses, Product.class);
        cr1.add(Restrictions.eq("Status", "Active"));
        List<Product> plist = cr1.list();

        JSONArray ja1 = new JSONArray();
        for (Product product : plist) {
            JSONObject jo1 = new JSONObject();
            jo1.put("image", product.getProductImages());
            jo1.put("name", product.getName());
            jo1.put("price", product.getPrice());

            ja1.add(jo1);
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
}

enter image description here

2 个答案:

答案 0 :(得分:2)

尝试使用put()代替add();)

答案 1 :(得分:1)

这取决于您使用的库。

如果您使用的是org.json.JSONArray,那么它应为put(),但如果您使用的是org.json.simple.JSONArray add()

我敢打赌你正在使用org.json.JSONArray。所以试试,

ja1.put(jo1);