跳到主要内容
版本:dev

基础序列化

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}")
}