You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用kaml将YamlNode序列化为字符串?有无更简便实现方式?

使用kaml序列化修改后的YAML树的简便方法

完全不用手动遍历构建YAML文件,kaml本身就提供了直接序列化YamlNode的API,步骤如下:

  • 解析YAML文件得到YamlNode实例后,完成节点操作
  • 调用Yaml类的dump方法,直接将修改后的节点写入文件

示例代码:

// 初始化kaml实例
val yaml = Yaml.default

// 解析原YAML文件得到节点树
val rootNode = yaml.parse(YamlNode::class.java, File("input.yaml"))

// 对节点树进行操作(示例:修改某个子节点的值)
rootNode["server"]["port"] = YamlScalar(8081)

// 直接序列化回文件
yaml.dump(rootNode, File("output.yaml"))

如果你的业务逻辑是基于自定义数据类而非直接操作YamlNode,kaml同样支持直接序列化数据类实例,无需手动处理节点:

data class AppConfig(
    val server: ServerConfig,
    val features: List<String>
)

data class ServerConfig(val host: String, val port: Int)

// 修改后的数据类实例
val updatedConfig = AppConfig(
    ServerConfig("localhost", 8081),
    listOf("auth", "logging")
)

// 序列化到文件
yaml.dump(updatedConfig, File("output.yaml"))

内容的提问来源于stack exchange,提问作者Eugen Martynov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:48:24