【发布时间】:2020-10-15 00:57:59
【问题描述】:
我有一个 kotlin 数据类 OfflineDataRequestInfo 我想使用 Gson 将其转换为 Json,但它总是返回一个空对象
data class OfflineDataRequestInfo (
@SerializedName("status") val status: String,
@SerializedName("userId") val userId: String?,
@SerializedName("fulOrderId") val fulOrderId: String,
@SerializedName("timeStamp") val timeStamp: String,
@SerializedName("fulOrder") val fulOrder: String,
@SerializedName("checks") val checks: String?
)
一些值可能为空,所以我也尝试了返回{}的波纹管代码
gson.toJson(OfflineDataRequestInfo("a","b","c","d", "e", "f"))
这里有更多信息,以防万一出现问题
@Entity
data class OfflineData (
@PrimaryKey(autoGenerate = true) val id: Int = 0,
@ColumnInfo(name="request_code") val requestCode: String?,
@Embedded
val requestInfoJson: OfflineDataRequestInfo
)
这是我的实际功能
fun postFulOurderData(offlineData: OfflineData) {
if (offlineData != null) {
val mainRepository = MainRepository(ApiHelper(RetrofitBuilder.apiService))
val builder = GsonBuilder()
builder.serializeNulls()
val gson = builder.create()
launch {
val postFulOrder = mainRepository.postFulOrderOfflineData(gson.toJson(offlineData.requestInfoJson), tokenResult.access_token)
}
}
}
我也尝试使用如上所示的 GsonBuilder 以及默认的 Gson,但没有运气
也试过gson.toJson(offlineData.requestInfoJson, OfflineDataRequestInfo::class.java)
谁能建议我哪里做错了
非常感谢您的帮助
谢谢 回复
【问题讨论】:
标签: java android json kotlin gson