java - 如何在列表中使用 JSON Accumulate 方法?

标签 java json list

我正在尝试下面的代码....

public  String listToJsonString(String keyName, List<StyleAttribute> attrs) {
        JSONObject json = new JSONObject();
        json.accumulate(keyName, attrs);
        return json.toString();
    }

但是当我检查 json 变量时,它包含如下所示的空值

{"myKey":[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]}

当我检查 attrs 变量时,它包含 22 个元素数据。我在这里做错了什么?我只是将我的列表转换为 Json 对象并保存到数据库。 我正在使用

import net.sf.json.JSONArray;
import net.sf.json.JSONException;
import net.sf.json.JSONObject;

最佳答案

你可以使用下面的代码

public String listToJsonString(List<StyleAttribute> attrs) {
        JSONObject jObject = new JSONObject();
        try {
            JSONArray jArray = new JSONArray();
            for (MyClass myObject: attrs) {
                JSONObject styleJSON = new JSONObject();
                styleJSON.put("name",myObject.getName());
                styleJSON.put("rollNumber", myObject.getRollNumber());

                jArray.add(styleJSON);
            }
            jObject.put("keyName", jArray);
        } catch (Exception jse) {
        }

        return jObject.toString();
    }

它将解决您的问题。

关于java - 如何在列表中使用 JSON Accumulate 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15543156/

相关文章:

java - jodatime DateTime 对象和 Locale

java - 向 JTextArea 添加滚动条

java - 如何以 root 用户身份运行 tomcat - 为什么 tomcat 通常在自己的用户下运行?

javascript - Jquery toggle() 不适用于 YouTube 订阅按钮

java - Spring 不发送 JSON 响应中的所有字段

javascript - eval() 是否首先对计算的字符串进行字面翻译?

java - 使用DecimalFormat(强制点)和drawString()(y似乎是错误的)

c++ - 自定义类的优先级队列

c# - 自定义容器类成员的 List<T>.Sort() 与 List<T>.OrderBy() 的实用程序

python - 连接列表的元素对