基础序列化
Xlang 是 Fory Kotlin 的默认序列化模式。本页介绍该默认模式的基础序列化 API 和互操作规则。
跨语言互操作
以下内容介绍默认 xlang 模式的模型生成、注册和跨语言往返。
Kotlin xlang 序列化通过 ForyKotlin 使用 JVM Fory 实现。当 Kotlin 载荷需要由其他受支持
的 Fory 运行时读取时,请使用该模式。在所有对端使用相同身份和字段 Schema 注册可移植
模型类型。
Kotlin 数据类、枚举和密封类模型会在适用时使用 Kotlin 集成与生成的序列化器。确切的 可移植载体映射仍由 xlang 类型映射定义。
创建 Fory 实例
import org.apache.fory.kotlin.ForyKotlin
val fory = ForyKotlin.builder()
.withXlang(true)
.build()
第一次往返处理
import org.apache.fory.ThreadSafeFory
import org.apache.fory.kotlin.ForyKotlin
data class Person(val name: String, val age: Int)
fun main() {
val fory: ThreadSafeFory = ForyKotlin.builder()
.withXlang(true)
.requireClassRegistration(true)
.buildThreadSafeFory()
fory.register(Person::class.java)
val bytes = fory.serialize(Person("chaokunyang", 28))
val result = fory.deserialize(bytes) as Person
println("${result.name} ${result.age}")
}