YamsYAML 解析器

联合创作 · 2023-09-28 09:56

Yams 是一个建立在 LibYAML 上的快速的 YAML 解析器。

安装:构建 Yams 需要 Xcode 11.x 或带有 Swift Package Manager 或 CMake 和 Ninja 的 Swift 5.1+ 工具链。

Yams 有三组转换 API:一组用于Codabletypes,另一组用于 Swift Standard Library types,第三组用于 Yams-native 表示。

Codabletypes

  • Codable 是Swift 4 中引入的一种编码和解码策略, 可以在 YAML 和其他编码器(如JSONEncoderPropertyListEncoder )之间轻松转换 。
  • 最低的计算开销,相当于Yams.Node.
  • 编码:YAMLEncoder.encode(_:) 产生一个YAMLString从类型符合一个实例Encodable
  • 解码:YAMLDecoder.decode(_:from:) 解码类型符合的实例Decodable从YAMLString或 Data
import Foundation
import Yams

struct S: Codable {
    var p: String
}

let s = S(p: "test")
let encoder = YAMLEncoder()
let encodedYAML = try encoder.encode(s)
encodedYAML == """
p: test

"""
let decoder = YAMLDecoder()
let decoded = try decoder.decode(S.self, from: encodedYAML)
s.p == decoded.p
浏览 1
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报