gpt4 book ai didi

android - 如何在 Kotlin 中将 ArrayList 添加到 JsonObject

转载 作者:行者123 更新时间:2023-11-29 16:33:12 27 4
gpt4 key购买 nike

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())

这里我尝试将新的 Arraylist 添加到现有的 JsonObject。问题是最终的 Json 对象不是我所期望的。我该如何解决这个问题?下面我附上了我的期望和我得到的。

预期

{"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}]}

我从上面的代码中得到了什么

{"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}]"}

最佳答案

Gson().toJson(myList) 返回一个 String

您应该构建一个 JSONArray 并添加它的元素。然后添加这个真正的数组。这很有效:

JsonArray array = new JsonArray();
array.add("test1");
array.add("test2");
JsonObject object = new JsonObject();
object.add("arr", array);

您还可能会弄乱 JSON 和 GSON 对象。这里我只使用了 Gson 对象。

关于android - 如何在 Kotlin 中将 ArrayList 添加到 JsonObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53608941/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com