我对GET方法Alamofire有一些问题。当我得到数据时,我有错误:
EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0) 致命错误:在解包可选值时意外发现nil
我做错了什么?我的代码:
let URLString = "http://MyURLWebService...";
Alamofire.request(.GET, URLString)
.responseJSON { (response) in
print(response.request) // original URL request
print(response.response) // URL response
print(response.data) // server data
print(response.result) // result of response serialization
if let JSON = response.result.value {
print(JSON["Phones"] as! String)
//print("JSON: \(JSON)")
}
}
答案 0 :(得分:0)
我认为JSON
对象没有名为"Phones"
的成员。因此,最好使用?而不是!。
print(JSON["Phones"] as? String)
编辑:
您的Json字符串已损坏。您必须使用双引号包装Phones
。
[{"Phones":"+1 (100) 111-22-33","Phones2":null}]
答案 1 :(得分:0)
这是工作:
if let jsonResult = response.result.value {
let Address = jsonResult[0]["Address"]
let Phones = jsonResult[0]["Phones"]
print("JSON: Address: \(Address)")
print("JSON: Phones: \(Phones)")
}
我希望它可以帮助某人