【问题标题】:Generate empty json object using moshi json library使用 moshi json 库生成空 json 对象
【发布时间】:2020-03-10 02:33:27
【问题描述】:

我的数据类应该是什么,这样当我使用 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":{}}

【问题讨论】:

    标签: android moshi


    【解决方案1】:

    事实证明,您的班级成员必须使用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":{}}
    

    【讨论】:

      猜你喜欢
      • 2022-07-28
      • 2016-06-09
      • 1970-01-01
      • 1970-01-01
      • 2022-08-03
      • 2015-10-05
      • 2019-03-25
      • 2020-03-21
      • 2020-08-11
      相关资源
      最近更新 更多