我的数据类应该是什么,以便当我使用moshi将其转换为json时会出现这种情况?
{"id":"abcdef""formValues":{}}
此刻我的课看起来像这样。
@JsonClass(generateAdapter = true)
class MyDataClass(
@Json(name = "id")
val id: String
) {
@Json(name = "formValues")
val formValues = FormValues()
@JsonClass(generateAdapter = true)
class FormValues
}
但是您看到的声明
Moshi.Builder().build().adapter(MyDataClass::class.java).toJson(MyDataClass("abcdef"))
产生这个
{"id": "abcdef"}
我想要这个
{"id":"abcdef""formValues":{}}
答案 0 :(得分:2)
事实证明,您必须为班级成员使用var
而不是val
。我将课程更改为此
@JsonClass(generateAdapter = true)
class MyDataClass(
@Json(name = "id")
var id: String
) {
@Json(name = "formValues")
var formValues = FormValues()
@JsonClass(generateAdapter = true)
class FormValues
}
然后moshi这样生成json
{"id":"abcdef""formValues":{}}