我正在尝试下面的代码....
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/