Yams 是一个建立在 LibYAML 上的快速的 YAML 解析器。
安装:构建 Yams 需要 Xcode 11.x 或带有 Swift Package Manager 或 CMake 和 Ninja 的 Swift 5.1+ 工具链。
Yams 有三组转换 API:一组用于Codable
types,另一组用于 Swift Standard Library types,第三组用于 Yams-native 表示。
Codable
types
- Codable 是Swift 4 中引入的一种编码和解码策略, 可以在 YAML 和其他编码器(如JSONEncoder和PropertyListEncoder )之间轻松转换 。
-
最低的计算开销,相当于
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