gpt4 book ai didi

gson - 使用 GSON 的 Kotlin 对象反序列化

转载 作者:IT老高 更新时间:2023-10-28 13:46:28 38 4
gpt4 key购买 nike

我有课

class ThreadComment(
banned: Int,
closed: Int,
comment: String?,
date: String?,
email: String?,
files: ArrayList<File>?,
lasthit: Int,
name: String?,
num: String?,
op: Int,
parent: String?,
postsCount: Int,
sticky: Int,
subject: String?,
tags: String?,
timestamp: Int,
trip: String?) : Comment(banned, closed, comment, date, email, files, lasthit, name, num, op, parent, postsCount, sticky, subject, tags, timestamp, trip) {

val answers: ArrayList<String> = ArrayList()}

父类看起来像

open class Comment(
@com.google.gson.annotations.SerializedName("banned")
val banned: Int = 0,

@com.google.gson.annotations.SerializedName("closed")
val closed: Int = 0,

@com.google.gson.annotations.SerializedName("comment")
val comment: String? = null,

@com.google.gson.annotations.SerializedName("date")
val date: String? = null,

@com.google.gson.annotations.SerializedName("email")
val email: String? = null,

@com.google.gson.annotations.SerializedName("files")
val files: ArrayList<File>? = null,

@com.google.gson.annotations.SerializedName("lasthit")
val lasthit: Int = 0,

@com.google.gson.annotations.SerializedName("name")
val name: String? = null,

@com.google.gson.annotations.SerializedName("num")
val num: String? = null,

@com.google.gson.annotations.SerializedName("op")
val op: Int = 0,

@com.google.gson.annotations.SerializedName("parent")
val parent: String? = null,

@com.google.gson.annotations.SerializedName("posts_count")
val postsCount: Int = 0,

@com.google.gson.annotations.SerializedName("sticky")
val sticky: Int = 0,

@com.google.gson.annotations.SerializedName("subject")
val subject: String? = null,

@com.google.gson.annotations.SerializedName("tags")
val tags: String? = null,

@com.google.gson.annotations.SerializedName("timestamp")
val timestamp: Int = 0,

@com.google.gson.annotations.SerializedName("trip")
val trip: String? = null) : Serializable

但是在使用 GSON 反序列化之后,答案字段为空。 Debugger

我也尝试将初始化放入 init{},但它仍然为空,懒惰引发了关于在空对象引用上调用lazy.getValue 的异常

最佳答案

这很奇怪,我只是像在 Java 中一样正常使用 @SerializedName 和一个数据类并且它起作用了:

data class(@SerializedName("my_string_value") val myStringValue: String, @SerializedName("my_int_value") val myIntValue: Int)

关于gson - 使用 GSON 的 Kotlin 对象反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39780021/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com