Kotlin 如何按值更改对对象进行分组
现在我的物体看起来像这样Kotlin 如何按值更改对对象进行分组,kotlin,Kotlin,现在我的物体看起来像这样 data class Country( val city: List<City> ) === Aichi === Okazaki, OKZ Hekinan, HKN === Kagoshima === Akune, AKN Hioki, HOI 我从API得到的回应是 {"city": [ {"prefecture": "Aichi", "city_cod
data class Country(
val city: List<City>
)
=== Aichi ===
Okazaki, OKZ
Hekinan, HKN
=== Kagoshima ===
Akune, AKN
Hioki, HOI
我从API得到的回应是
{"city": [
{"prefecture": "Aichi",
"city_code": "OKZ",
"city_name": "Okazaki"},
{"prefecture": "Aichi",
"city_code": "HKN",
"city_name": "Hekinan"},
{"prefecture": "Kagoshima",
"city_code": "AKN",
"city_name": "Akune"},
{"prefecture": "Kagoshima",
"city_code": "HOI",
"city_name": "Hioki"},
]}
通过检测值的变化来对地区数据进行分组的方法是什么。我期望的结果是这样的
data class Country(
val city: List<City>
)
=== Aichi ===
Okazaki, OKZ
Hekinan, HKN
=== Kagoshima ===
Akune, AKN
Hioki, HOI
对不起,我的英语不好如果您想要准确的输出,这可以为您完成以下工作:
val country=ObjectMapper().registerModule(KotlinModule()).readValue(json)
val groupedCities=country.city.groupBy({it.aperty}){it.city_name+“,“+it.city_code}
val output=groupedCities.entries.joinToString(“\n\n”){“==”+it.key+“==\n”+it.value.joinToString(“\n”)}
println(输出)