这是我的JSON响应。
Struct:
struct Welcome: Codable {
let name: String
let id: Int
}
JSON:
{
"name": "Apple",
"id": 23
}
这是JSON的结构,但名称有时为null。因此,我想替换为默认字符串值而不是null。因为避免将来应用崩溃。
{
"name": null,
"id": 23
}
如果名称为null,那么我只想为属性name
提供默认值,例如“ orange”。我不想对id
做任何事情。
我提到了一些答案,它们使人困惑并且使用init
中的所有属性而不是选定的属性。这对我来说是不可能的,因为我有200个具有50个类型的JSON属性,它们将为null或具有值。.]
我该怎么办?预先感谢。
struct Welcome: Codable {
private let name: String? // <- This should be optional, otherwise it will fail decoding
var defaultedName: String { name ?? "Orange" }
let id: Int
}
这还将确保服务器永远不会获得default
值。