Ich bin sehr seltsam Problem konfrontiert. Ich muss einige Daten senden, um mit Volley-Bibliothek im Json-Format zu trennen. Ich werde Daten von einer anderen API erhalten und sie an den Server weiterleiten. Jetzt Problem ist, dass jedes Mal, wenn ich Funktion anrufe, um JSON zu schaffen, es letzten Wert von der Liste erhalten wird.Android - Holen Sie sich den letzten Wert aus der Liste
Hier Code ist jsonarray
JSONObject mainObject = new JSONObject();
JSONArray jsonBody;
JSONObject object;
Innen Onclick der Schaltfläche konvertieren Ich jsonarray erstellen - Code unten
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);
}
});
Der Wert I angemeldet ist richtig kommt aber sch_id in mainObejct Duplikat kommt, ist hier json das wurde erstellt
{
"A": [
{
"sch_id": "738",
"date": "1,7,15,25",
"amount": "5000",
"tenure": "1",
"user_id": "1"
},
{
"sch_id": "738",
"date": "1,7,15,25",
"amount": "5000",
"tenure": "1",
"user_id": "1"
},
{
"sch_id": "738",
"date": "1,7,15,25",
"amount": "5000",
"tenure": "1",
"user_id": "1"
}
]
}
Hier kommt sch_id immer 738 während - Log.e (TAG, "ID:" + ID); ID kommt anders wie einige Zeit - 738, 607, 521 usw. - Das kommt richtig. Hilf mir, die richtige sch_id in Array zu bekommen. Danke im Voraus.
Versuchen Sie, diese 'jsonBody = mainObject.getJsonArray ("A"),' Wie pro Ihre json. –
Wo mache ich das? – Shane
Können Sie angeben, was 'sipDetailses' enthält? –