SwiftUI:如何使用 0 索引数组键为 JSON 添加类型

SwiftUI: how to add type for JSON with 0 index array key

我正在 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"
    }
  }
]

如何在我的类型中定义 index-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)

您的回复是一组元素:

let decodedResponse = try JSONDecoder().decode([APIResponse].self, from: data)

和:

let element = decodedResponse.first

应该让你继续。

永远不要使用 try? 它会混淆所有错误。