我有一个检索JSON文件的应用程序。在这里,你是我的代码:
数组定义
var photos: NSArray = []
我如何填充数组:
ezJson().createRequest("http://myapiurl/load", type: "GET", params: nil, completion: {(returnedObject : AnyObject?, error : NSError?)in
if returnedObject{
self.photos = returnedObject as NSArray
self.tableView.reloadData()
}
})
的println(self.photos)
{
created = {
date = "2014-06-13 18:35:46";
timezone = "Europe/Madrid";
"timezone_type" = 3;
};
description = description1;
id = 3;
name = 539b286277617;
},
{
created = {
date = "2014-06-13 18:38:38";
timezone = "Europe/Madrid";
"timezone_type" = 3;
};
description = description2;
id = 4;
name = 539b290ed8577;
}
的println(self.photos [0])
{
created = {
date = "2014-06-13 18:35:46";
timezone = "Europe/Madrid";
"timezone_type" = 3;
};
description = description1;
id = 3;
name = 539b286277617;
}
问题是,我不知道如何获得特定物品。我试过了:
println(self.photos[0]) // it works
println(self.photos[0]["name"] // Xcode crash "Command /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 254"
println(self.photos[0].name) // returns nil
如何访问name参数?
答案 0 :(得分:0)
您似乎正在向String
投射NSArray
。这不会给你你想要的效果。
首先,如果您想按名称访问元素,则需要NSDictionary
然后它可能仍然无法工作,因为类型之间没有隐式转换,因此您必须自己解析它或使用一些JSON库。
上一篇:您的JSON不正确。