如何将Gson类型适配器转换为Klaxon类型适配器

所以我以前有typeAdapters安装程序来解析我的json使用Gson但我试图转换为Android开发Kotlin 。 我相对比较新的Android,所以我不明白所有的细微差别(主要是iOS),所以我有这样的东西

 class GsonTypeAdapter(gson: Gson) : TypeAdapter<ChartInfo>() { private val mIntegerAdapter: TypeAdapter<Int> init { mIntegerAdapter = gson.getAdapter(Int::class.java) } @Throws(IOException::class) override fun read(jsonReader: JsonReader): ChartInfo? { var jsonChartInfo: ChartInfo? = null if (jsonReader.peek() != JsonToken.NULL && jsonReader.peek() == JsonToken.BEGIN_OBJECT) { jsonChartInfo = ChartInfo() jsonReader.beginObject() while (jsonReader.hasNext()) { val name = jsonReader.nextName() if (jsonReader.peek() == JsonToken.NULL) { jsonReader.skipValue() continue } when (name) { "valueSize" -> jsonChartInfo.valueSize = mIntegerAdapter.read(jsonReader) else -> { jsonReader.skipValue() } } } jsonReader.endObject() } return jsonChartInfo } @Throws(IOException::class) override fun write(jsonWriter: JsonWriter, chartInfo: ChartInfo) { jsonWriter.beginObject() jsonWriter.name("valueSize") mIntegerAdapter.write(jsonWriter, chartInfo.valueSize) jsonWriter.endObject() } } 

我试图转换为使用Klaxon,这样我就可以利用optionals,但是挂上了它的实现。 从README我已经想出了这个,但不知道如何做Write功能。

 val gson = GsonBuilder() .registerTypeAdapter<ChartInfo> { write { beginObject() value(it.valueSize) endObject() } read { beginObject() val valueSize = // I dont know how to reference the object correctly. } } } 

这对我来说都是新鲜的东西,对于android开发来说也是比较新的,所以没有太多的东西。 任何意见表示赞赏。