我正在swift中调用API,API的响应如下所示:
[
{
"response": {
"data": {
"first": "Hello",
"second": "Hola",
"third": "Namaste"
}
}
}
]
现在,为了能够将其集成到我的应用程序中,我需要解码API调用的响应,我使用的类型如下:
struct APIResponse: Codable {
let response: Response
}
struct Response: Codable {
let data: Data
}
struct Data: Codable {
let first: String
let second: String
let third: String
}
现在的问题是,这种类型是错误的,因为API响应实际上是一个只有一个元素(索引0)的数组,这意味着如果来自API的响应是
[
"response": {
"data": {
"first": "Hello",
"second": "Hola",
"third": "Namaste"
}
}
]
如何在我的类型中定义索引-0数据?
我用于进行API调用和解码JSON的代码:
var request = URLRequest(url: URL(string: "https://myurl.com")!)
let (data, _) = try await URLSession.shared.data(for: request)
let decodedResponse = try? JSONDecoder().decode(APIResponse.self, from: data)