【发布时间】:2020-04-15 20:28:12
【问题描述】:
是否有任何构建方法可以将 java/kotlin pojo 转换为 Form 数据对象。 例如,如果我有两个类
data class Student(
var id: Int,
var name: String,
var age: Int
)
data class College
(
var id: Int,
var address: String,
var students: Array<Student>
)
这个对象的数组在 JSON 中会是这样的
[
{
"id": 1,
"address": "12 Lincoln Street",
"students":
[
{
"id": 1,
"name": "Mike",
"age": 17
},
{
"id": 2,
"name": "Ann",
"age": 18
},
{
"id": 2,
"name": "Bob",
"age": 20
}
]
},
{
"id": 2,
"address": "544 Peninsula Street Brooklyn",
"students":
[
{
"id": 4,
"name": "Tom",
"age": 17
},
{
"id": 5,
"name": "Liza",
"age": 21
},
{
"id": 6,
"name": "Rachel",
"age": 22
}
]
}
]
我能以某种方式自动将其转换为表单数据吗?
college[0][id] = 1
college[0][address] = "12 Lincoln Street"
college[0][students][0][id] = 1
college[0][students][0][name] = "Mike"
college[0][students][0][age] = 17
college[0][students][1][id] = 2
college[0][students][1][name] = "Ann"
college[0][students][1][age] = 18
college[0][students][2][id] = 3
college[0][students][2][name] = "Bob"
college[0][students][2][age] = 20
college[1][id] = 2
college[1][address] = "544 Peninsula Street Brooklyn"
college[1][students][0][id] = 4
college[1][students][0][name] = "Tom"
college[1][students][0][age] = 17
college[1][students][1][id] = 5
college[1][students][1][name] = "Liza"
college[1][students][1][age] = 21
college[1][students][2][id] = 3
college[1][students][2][name] = "Rachel"
college[1][students][2][age] = 22
也许有一些 java/kotlin 库可以将 Json 字符串转换为表单数据?
【问题讨论】:
-
您是否尝试过 DTO 生成器或 JSON To Kotlin 类插件?
-
您可以使用一些 JSON 库,例如 gson 来实现。
标签: java android json kotlin retrofit