从 API 获取 JSON 数据时,我无法正确解码。
[
{
"success": "true",
"message": "testtt"
}
]
这就是我的 API 输出的样子。
正如我们所见,我的 PHP 将值输出为顶级数组。
如何在 Swift 4 中读出这些信息?
let json = try JSONDecoder().decode([API].self, from: data)
返回:
success: "true", message: "testtt"
结构如下所示:
struct API: Decodable{
let success: String
let message: String
init(jsont: [String: Any]){
success = jsont["success"] as? String ?? ""
message = jsont["message"] as? String ?? ""
}
}
但是我不知道如何进一步读出这些数据。
有什么想法吗?
最佳答案
无需创建自定义初始化程序。在解码 json 时,您只需使用数组类型 [API].self
即可:
struct API: Decodable{
let success: String
let message: String
}
<小时/>
let dataJSON = Data("""
[
{
"success": "true",
"message": "testtt"
}
]
""".utf8)
<小时/>
do {
if let result = try JSONDecoder().decode([API].self, from: dataJSON).first {
print(result.success)
print(result.message)
}
} catch {
print(error)
}
关于json - 使用顶级数组进行 Swift 4 json 解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52085720/