我正在尝试从服务器获取以下json响应:
[{"m", "OK"}]
我使用以下代码,当我在模拟器中播放时效果很好,但是当我在Apple商店中生成要上传的存档时,它有错误
模糊地使用'下标'
func funcao(completo: () -> Void, falha: () -> Void){
let parametros = [
"operacao" : "update",
"tabela" : "1"
]
Alamofire.request(.POST, UrlServerPOST, parameters: parametros)
.responseJSON { response in
if let JSON = response.result.value {
print("JSON: \(JSON)")
if let item = JSON[0] as? [String: String] { //Error here
if let resp = item["m"] as? String {
print(resp)
if resp == "OK" {
completo()
}
else
{
falha()
}
}
else
{
falha()
}
}
else
{
falha()
}
}
}
}
我尝试了几件事来解决这个错误,但没有解决。有谁知道如何解决这个问题?
答案 0 :(得分:1)
每个JSON对象都是字典或数组。你必须告诉Swift用键(作为字典)或整数索引(作为数组)下标它。看起来JSON
这里是一个数组。改变这一行:
if let JSON = response.result.value as? [AnyObject] {
// ...
}