пожалуйста, попробуйте с помощью следующих методов.Надеюсь, что это решит вашу проблему.
Сначала возьмите один общий класс pojo, как показано ниже
class MergedResponse : Serializable {
var data: Data? = null
inner class Data : Serializable {
@SerializedName(value = "xyz", alternate = arrayOf("abc"))
var mCommon: ArrayList<Common>? = null
inner class Common : Serializable {
var x: String? = null
var a: String? = null
var date: String? = null
}
}
}
И затем напишите код ниже в вашем классе
val mainData = Gson().toJson(data!!)
var mJsonXYZ: JSONObject = JSONObject(mainData)
var mJsonABC: JSONObject = JSONObject(mainData)
mJsonXYZ.remove("abc")
mJsonABC.remove("xyz")
val mypojoXYZ = Gson().fromJson<MergedResponse.Data>(Gson().toJson(Gson().fromJson<Data>(mJsonXYZ.toString(), Data::class.java)), MergedResponse.Data::class.java)
val mypojoABC = Gson().fromJson<MergedResponse.Data>(Gson().toJson(Gson().fromJson<Data>(mJsonABC.toString(), Data::class.java)), MergedResponse.Data::class.java)
val itemsXYZ = ArrayList<MergedResponse.Data.Common>()
itemsXYZ.addAll(mypojoXYZ.mCommon!!)
itemsXYZ.addAll(mypojoABC.mCommon!!)
Collections.sort(itemsXYZ, object : Comparator<MergedResponse.Data.Common> {
override fun compare(object1: MergedResponse.Data.Common, object2: MergedResponse.Data.Common): Int {
return object1.date!!.compareTo(object2.date!!)
}
})