gpt4 book ai didi

java - Gson:如何将 JsonObject/JsonElement 作为可序列化传递?

转载 作者:行者123 更新时间:2023-11-30 01:52:45 27 4
gpt4 key购买 nike

在我的 Kotlin 项目中,我必须使用 com.google.gson.JsonObject

val jsonRedir = JsonObject()
someCustomMethod(jsonRedir)

问题在于方法 someCustomMethod 有一个可序列化参数。但 JsonObject 不是 Serialized

我该如何解决这个问题?

我必须将精确的 JsonElementJsonObject 传递给 someCustomMethod

最佳答案

您可以通过实现 Serialized 接口(interface)并实现 writeObjectreadObject 来创建一个可以序列化/反序列化 JsonObject 的类,如下所示:

class JsonObjectSerializer(val gson: Gson, val jsonObject: JsonObject) : Serializable {

@Throws(ClassNotFoundException::class, IOException::class)
private fun readObject(aInputStream: ObjectInputStream) {
val gson = aInputStream.readUTF()
jsonObject = this.gson.fromJson(gson, JsonObject::class.java!!)
}

@Throws(IOException::class)
private fun writeObject(aOutputStream: ObjectOutputStream) {
aOutputStream.writeUTF(gson.toJson(jsonObject))
}
}

关于java - Gson:如何将 JsonObject/JsonElement 作为可序列化传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55492498/

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