例如:POJO是
class Student(val name : String, val age : Int)
JSON字符串为
[["Avinash", 21], ["Sai", 23], ["pavan", 30]]
我想让gson将JSON反序列化为List<Student>,我尝试使用TypeToken,但它不起作用
List<Student>
s3fp2yjn1#
谢谢你,绒毛,这对我很有效数据类Student(瓦尔名称:字符串,瓦尔年龄:整数)fun主文件夹(){
val json = "[['AVINASH' , 21] , ['Sai' , 23]]" val type = object : TypeToken<List<Student>>() {}.type val gsonBuilder = GsonBuilder() gsonBuilder.registerTypeAdapter(Student::class.java, object : JsonDeserializer<Student> { override fun deserialize(json: JsonElement, p1: Type?, p2: JsonDeserializationContext?): Student { val studentArray = json.asJsonArray return Student(studentArray[0].asString , studentArray[1].asInt) } }) var list: List<Student> = gsonBuilder.create().fromJson(json, type) print(list)
}
1条答案
按热度按时间s3fp2yjn1#
谢谢你,绒毛,这对我很有效
数据类Student(瓦尔名称:字符串,瓦尔年龄:整数)
fun主文件夹(){
}