Swift 5 中其他类型的 Codable? (非 JSON 码农)
Other kinds of Codable in Swift 5? (non-JSON Coders)
Apple/Swift 5 是否在 JSONEncoder
/JSONDecoder
之外提供任何其他开箱即用的 Codable
序列化实现?
我知道我可以自己写,但我正在考虑将某些东西序列化到存储中,而 JSONEncoder 很方便,因为它是人类可读的,我可能可以通过以二进制序列化我的对象来压缩它。
每次我在网络上搜索 Codable
协议时,每篇文章都只谈论 JSON,这是唯一的序列化方法。
当然有 PropertyListEncoder
基本上是 xml:
struct SomeStruct: Codable { let someProperty: String }
try? PropertyListEncoder().encode(SomeStruct(someProperty: "someValue"))
try? PropertyListDecoder().decode(SomeStruct.self, from: data)
Apple/Swift 5 是否在 JSONEncoder
/JSONDecoder
之外提供任何其他开箱即用的 Codable
序列化实现?
我知道我可以自己写,但我正在考虑将某些东西序列化到存储中,而 JSONEncoder 很方便,因为它是人类可读的,我可能可以通过以二进制序列化我的对象来压缩它。
每次我在网络上搜索 Codable
协议时,每篇文章都只谈论 JSON,这是唯一的序列化方法。
当然有 PropertyListEncoder
基本上是 xml:
struct SomeStruct: Codable { let someProperty: String }
try? PropertyListEncoder().encode(SomeStruct(someProperty: "someValue"))
try? PropertyListDecoder().decode(SomeStruct.self, from: data)