Retrofit2和Moshi:发送不带嵌套对象的JSON

在我的代码中,我有一个数据类,该数据类存储一些信息以json正文的形式传递给Web服务

data class MyDataClass(
    var booleanField : Boolean = true,var stringField : String = "",var aDataField : ADataClass = ADataClass()
)

其中ADataClass是我将在代码中重用的类,例如

data class ADataClass(
    var aDataString : String = "",var aDataAnotherString : String = ""
)

现在,当我调用Web服务时,我会传递一个JSON之类的

{
     "booleanField" : true,"stringField" : "someValue","aDataField" : {
         "aDataString" : "aString","aDataAnotherString" : "anotherString"
     }
}

但是接受的json必须像

 {
     "booleanField" : true,"aDataString" : "aString","aDataAnotherString" : "anotherString"
}

因此,有一种方法(如一些注释)可以避免在解析时创建 aDataField 元素,并将其内容仅放在json中?

chinaliu321123 回答:Retrofit2和Moshi:发送不带嵌套对象的JSON

不,您应该手动设置

MyDataClass将再有一个变量 aDataAnotherString以及它的getter和setter方法,然后将其插入

MyDataClass myData = response;
if(myData != null && myData.getADataClass() != null){
    myData.setaDataAnotherString(myData.getADataClass().getaDataAnotherString());
}
本文链接:https://www.f2er.com/3124572.html

大家都在问