put
добавляет список как элемент к JSONArray
. Это не то, что вы хотите. Вы хотите, чтобы ваш JSONArray
представлял список.
JSONArray
предлагает конструктор для этого:
val jsonArray = JSONArray(listOf(1, 2, 3))
Но есть гораздо более простой способ. Вам не нужно беспокоиться об отдельных свойствах. Просто передайте все POJO.
Допустим, у вас есть это:
class QuoteData(val id: Int, val quoteId: Int, travellerId: Int?)
class TravelerData(val userQuoteTravellers: List<QuoteData>)
val travelerData = TravelerData(listOf(QuoteData(1354, 546, null)))
Вам просто нужно передать travelerData
конструктору JSONArray
:
val travelerDataJson = JSONArray(travelerData)
и он будет представлен следующим образом:
"userQuoteTravellers": [{"id": 1354, "quoteId": 526, "travellerId": null}]