Android-从列表中获取最后一个值
我面临着非常奇怪的问题。 我必须使用Json格式的凌空库向服务器发送一些数据。我将从另一个API获取数据并将其转发到服务器。现在的问题是,每次我调用函数来创建JSON时,它都会从列表中获取最后一个值 下面是转换jsonarray的代码Android-从列表中获取最后一个值,android,arrays,android-volley,Android,Arrays,Android Volley,我面临着非常奇怪的问题。 我必须使用Json格式的凌空库向服务器发送一些数据。我将从另一个API获取数据并将其转发到服务器。现在的问题是,每次我调用函数来创建JSON时,它都会从列表中获取最后一个值 下面是转换jsonarray的代码 JSONObject mainObject = new JSONObject(); JSONArray jsonBody; JSONObject object; 在单击按钮的内部,我创建了jsonarray-下面的代码 btn_rec_invest_now.se
JSONObject mainObject = new JSONObject();
JSONArray jsonBody;
JSONObject object;
在单击按钮的内部,我创建了jsonarray-下面的代码
btn_rec_invest_now.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Log.e(TAG, "Size of list : " + sipDetailses.size());
jsonBody = new JSONArray();
object = new JSONObject();
for (int i = 0; i < sipDetailses.size(); i++) {
String ID = sipDetailses.get(i).getId();
String DATE = sipDetailses.get(i).getSip_date_include();
String AMOUNT = sipDetailses.get(i).getMinimum_investment();
String TENURE = "1";
Log.e(TAG, "ID : " + ID);
Log.e(TAG, "DATE : "
+ sipDetailses.get(i).getSip_date_include());
Log.e(TAG, "AMOUNT : "
+ sipDetailses.get(i).getMinimum_investment());
Log.e(TAG, "TENURE : " + i);
Log.e(TAG, "USER ID : " + "1");
Log.d(TAG, "=================");
try {
object.put("sch_id", sipDetailses.get(i).getId());
object.put("date", DATE);
object.put("amount", AMOUNT);
object.put("tenure", TENURE);
object.put("user_id", "1");
jsonBody.put(object);
} catch (JSONException e) {
Log.d(TAG, "EXCEPTION OCCRUDED: " + e.toString());
}
}
try {
mainObject.put("A", jsonBody);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Log.e("", "JSONBODY : " + mainObject.toString());
sendDetails(mainObject);
}
});
这里schu-id总是出现在738-Log.e(标签,“id:+id”);ID不同,就像某个时间-738、607、521等-这是正确的。
帮助我在数组中获取正确的schu_id。提前感谢。我认为您正在为循环之外的JSONObject创建对象。 为对象创建实例(object=newJSONObject();) 用于内部for循环。如下
for (int i = 0; i < sipDetailses.size(); i++) {
JSONObject object = new JSONObject();
// do your operations
jsonBody.put(object);
for(int i=0;i
}试试这个
jsonBody=mainObject.getJsonArray(“A”)代码>根据您的json。您能指定sipDetailses
包含什么吗?sipDetailses是一个getter setter类型的类,它保存来自另一个api的数据
for (int i = 0; i < sipDetailses.size(); i++) {
JSONObject object = new JSONObject();
// do your operations
jsonBody.put(object);