@NullCodable
是一个属性包装器,在使用 JSONEncoder
编码时,会将 nil
可选值编码为 null
。
默认情况下,JSONEncoder
会省略值为 nil
的可选属性 - 这意味着
struct Test: Codable {
var name: String? = nil
}
将被编码为: {}
。
如果由于某种原因,您希望值为 nil 的可选属性在 JSON 中被编码为 null
,那么将这些属性标记为 @NullCodable
即可实现。
例如,像这样添加 @NullCodable
struct Test: Codable {
@NullCodable var name: String? = nil
}
将被编码为: {\"name\": null}
。