如果使用JSONDecoder需要解析的JSON中含有一个null对象应该如何编写Codale结构体
如果JSON中含有一个null对象,可以在Codable结构体中将该属性声明为可选类型,并使用decodeIfPresent方法进行解码。以下是一个示例:
struct MyStruct: Codable {
var nullableProperty: Int?
enum CodingKeys: String, CodingKey {
case nullableProperty = "nullable_property"
}
init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
nullableProperty = try container.decodeIfPresent(Int.self, forKey: .nullableProperty)
}
}
在上面的示例中,nullableProperty属性被声明为可选的Int类型。在init(from:)方法中,我们使用decodeIfPresent方法从JSON中解码该属性。如果JSON中存在null值,则decodeIfPresent方法返回nil,并将nullableProperty设置为nil。如果JSON中不存在该属性,则decodeIfPresent方法也会返回nil,并且nullableProperty保持为nil
原文地址: https://www.cveoy.top/t/topic/fEBi 著作权归作者所有。请勿转载和采集!