我想在解析json时从本地服务器获取一些数据。在视图控制器我访问本地Ruby on Rails的服务器:无法遍历数组
override func viewDidLoad() {
super.viewDidLoad()
var url = NSURL(scheme: "http", host: "0.0.0.0:3000", path: "/api/search?query=auto")
var request = NSURLRequest(URL: url)
let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {(data, response, error) in
var data1: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
println(data1)
println(data1["companies"])
var companies = data1["companies"] as NSArray
for company: AnyObject in companies {
println(company)
}
}
task.resume()
}
println(data1)
回报:
{
companies = "[{\"alias\":\"02-avtomoyka-tulybaev-r-t\",\"id\":45693},{\"alias\":\"1001-zapchast-internetmagazin-avtotovarov\",\"id\":42621}]";
}
随着println(data1["companies"])
,我得到了在控制台对象数组:
[{"alias":"02-avtomoyka-tulybaev-r-t","id":45693},{"alias":"1001-zapchast-internetmagazin-avtotovarov","id":42621}]
然后,当我试图遍历该数组时,应用程序崩溃。我究竟做错了什么? 它stucks在控制台中没有错误,但在轮距6
PS (lldb)
和EXC_BREAKPOINT(code=EXC_I386_BPT, subcode 0x0)
:Xcode中还抛出在for company in companies {
字符串编译器问题Constant 'company' inferred to have type 'AnyObject', which may be unexpected
。我该如何处理?
您能否提供错误并编辑您的查询,以便更清楚地理解。 – nikhil84
@ walle84我添加了更多的代码,希望这有助于。 –
对于该编译器警告,将您的for循环更改为'for company:AnyObject in companies {...}' –