是否可能使用自定义序列化器将任何有效的JSON对象以字符串格式进行编码/解码?例如下面的代码,但不是将其序列化为JSON字符串,而是作为具有未知结构的任何有效JSON对象?
object JsonObjectSerializer : KSerializer<JsonObject> {
override val descriptor = PrimitiveSerialDescriptor("JsonObject", PrimitiveKind.STRING)
override fun deserialize(decoder: Decoder): JsonObject =
JsonObject(decoder.decodeString())
override fun serialize(encoder: Encoder, value: JsonObject): Unit =
encoder.encodeString(value.encode())
}
Out would be something like..
{
"some": "data",
"jsonObject": "{\"this\": \"should not be a string\"}"
}
但是期望的输出结果应该是。。。
{
"some": "data",
"jsonObject": {"this": "should not be a string"}
}
@JsonRawValue
注释,但我似乎在kotlinx.serialization
中找不到相同的功能。 - Michele Palmia