我想从可用数据
创建这样的Json StringJson String:
{
"1": {
"attendance_user_status": 1
},
"2": {
"attendance_user_status": 0
},
"3": {
"attendance_user_status": 1
},
"4": {
"attendance_user_status": 1
},
"5": {
"attendance_user_status": 1
},
"6": {
"attendance_user_status": 0
},
"7": {
"attendance_user_status": 1
}, ...
}
我写了这个java代码..
public String jsonCreator(ArrayList<Attendance> attendanceArrayList) throws JSONException {
JSONObject object = new JSONObject();
JSONArray jsonArray = new JSONArray();
for(int i = 0;i<attendanceArrayList.size();i++){
JSONObject objId = new JSONObject();
JSONObject objAtt = new JSONObject();
objAtt.put("attendance_user_status",attendanceArrayList.get(i).getValue());
objId.put(attendanceArrayList.get(i).getId(),objAtt);
jsonArray.put(objId);
}
object.put("user",jsonArray);
return object.toString();
}
但是使用这段代码我得到了这个数组,不是我要求的。
{
"user": [
{
"1": {
"attendance_user_status": "2"
}
},
{
"2": {
"attendance_user_status": "1"
}
},
{
"3": {
"attendance_user_status": "1"
}
},
{
"4": {
"attendance_user_status": "1"
}
}
]
}
我想附加json对象,但不是json数组。
答案 0 :(得分:0)
除了json
之外,您永远不会初始化String json = "";
,因此会返回一个空字符串。
您必须从json对象获取字符串并将其设置为json
。
在方法结束时执行以下操作:
json = objId.toString();
return json;
答案 1 :(得分:0)
试试这样:
public String jsonCreator(ArrayList<Attendance> attendanceArrayList) throws JSONException {
JSONArray jsonArray = new JSONArray();
for(int i = 0;i<attendanceArrayList.size();i++){
JSONObject objId = new JSONObject();
JSONObject objAtt = new JSONObject();
objAtt.put("attendance_user_status",attendanceArrayList.get(i).getValue());
objId.put(attendanceArrayList.get(i).getId(),objAtt);
jsonArray.put(objId);
}
return jsonArray.toString();
}