类似如下的数据结构
{
"code": 1,
"msg": "请求成功",
"data": [
{
"id": 4,
"type_name": "xxxx",
},
{
"id": 5,
"type_name": "xxx",
},
{
"id": 6,
"type_name": "xxxx",
}
]
}
在项目中一般会这么设计bean类
public class BaseResponse<T> {
private int code;
private T data;
private String msg;
//省略构造方法getter和setter
}
public class Feedback {
private int id;
private String type_name;
//省略构造方法getter和setter
}
在使用retrofit进行请求时
Observable<Response<BaseResponse<List<Feedback>>>> feedbackList = apiService.getFeedbackList();
以上步骤能够正常获取到数据
data class Feedback(
var id: Int = 0,
var type_name: String = "",
)
//某博客说全部设置初始值能够有默认构造方法
data class Feedback(
val id: Int = 0,
val type_name: String = "",
)
data class Feedback(val id: Int, val type_name: String)
换成kotlin的数据类后,其他都没动,这三种方式,没有一个可以被正常解析的。
class Feedback {
private val id = 0
private val type_name: String? = null
}
我也是kotlin数据类,没有任何问题,不过我是纯kotlin,没有和java混用。你retrofit是如何创建的,数据解析器是不是有问题?