我有一个格式如下的 JSON 有效负载:
{
items: [
{
id: 1,
anotherKey: anotherValue
},
{
id: 2,
anotherKey: anotherValue
}
]
}
这是我用来解码有效载荷的代码:
struct Suggestions : Codable {
let items: [EmployeeDTO]
}
if let json = try? JSONDecoder().decode(Suggestions.self, from: response.data!) {
print("decoding success, json is \(json)")
}
else {
print("failed")
}
我的 EmployeeDTO 在外部文件中也定义为 Codeable 结构。我遇到的问题是只有当我的数组只有 1 个结果时解码才有效。换句话说,一个只有 1 个 EmployeeDTO 对象的数组。一旦我有一个包含 2 个或更多对象的数组,解码就会失败并直接转到其他对象。关于为什么会发生这种情况的任何想法?我难住了。这是我一直使用的文档,用于解析带有数组的嵌套对象:http: //benscheirman.com/2017/06/ultimate-guide-to-json-parsing-with-swift-4/