在 Json 解码中模糊地使用下标 - Swift 2



我正在尝试从服务器获取以下json响应:

[{"m", "OK"}]

我使用了以下代码,当我在模拟器中玩游戏时可以完美运行,但是当我生成存档以上传到苹果商店时,它出现了错误

"下标"的模棱两可的使用

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()
                }
            }
    }
}

我尝试了几种方法来解决此错误,但没有任何解决。有人知道如何解决这个问题吗?

每个 JSON 对象要么是字典,要么是数组。你必须告诉 Swift 用键(作为字典)或整数索引(作为数组)下标它。看起来JSON这里是一个数组。更改此行:

if let JSON = response.result.value as? [AnyObject] {
    // ...
}

最新更新