PaymentDetails class
data class PaymentDetails(
val type:String,
val bank: String,
val branch: String,
val account_no: String,
val cheque_date:String,
val return_type:Boolean,
val cheque_no:String,
val return_cheque_no:String,
val amount:String)
Adding to Json Object
var obj = JSONObject(myPreference!!.getJsonObject());
Log.e("test Object add", obj.get("reciptDetail").toString())
val paymentDetails : PaymentDetails = PaymentDetails(type, "", "", "","",false,"","",viewPaymentCash!!.etxt_amount.text.toString())
myList.add(paymentDetails)
val jsArray = Gson().toJson(myList)
var obj2 = JSONObject(obj.get("reciptDetail").toString());
obj2.remove("payment_details")
obj2.put("payment_details",jsArray)
Log.e("cash Object", obj2.toString())
Here I tried to add new Arraylist to existing JsonObject. Issue is that the final Json object is not what I am expecting. How can I solve that issue? Below I attched what I expected and what I got.
Expected
{"receiptNo":"fggff","todate":"4\/12\/2018","remark":"","payment_details":[{"account_no":" ","amount":"600","bank":"","branch":"","cheque_date":"","cheque_no":"","return_cheque_no":"","type":"Cash","return_type":false}]}
What I got from above code
{"receiptNo":"fggff","todate":"4\/12\/2018","remark":"","payment_details":"[{\"account_no\":\"\",\"amount\":\"600\",\"bank\":\"\",\"branch\":\"\",\"cheque_date\":\"\",\"cheque_no\":\"\",\"return_cheque_no\":\"\",\"type\":\"Cash\",\"return_type\":false}]"}