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



我正在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)

您的响应是一个元素数组:

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

:

let element = decodedResponse.first

应该能让你走起来。

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

相关内容

  • 没有找到相关文章

最新更新