首先,我需要使用之前的var pasarid
值对JSON url进行编码,然后我需要获取该JSON数据并填充一些UILabel。这是我的代码。我正在使用Alamofire和SwiftyJSON。
var pasarid = ""
var arrRes = [[String:AnyObject]]()
@IBOutlet weak var completo: UILabel!
@IBOutlet weak var historia: UILabel!
@IBOutlet weak var año: UILabel!
@IBOutlet weak var estilo: UILabel!
@IBOutlet weak var direccion: UILabel!
@IBOutlet weak var director: UILabel!
@IBOutlet weak var titulares: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
Alamofire.request(.GET, "http://elpenitente.playcofrade.com/json/get_templos.php?id=(pasarid value here)").responseJSON { (responseData) -> Void in
let swiftyJsonVar = JSON(responseData.result.value!)
if let resData = swiftyJsonVar["templos"].arrayObject {
self.arrRes = resData as! [[String:AnyObject]]
}
var dict = self.arrRes
self.completo.text = dict["nombre"]
我在最后一行中出现错误
不能使用索引类型为“String”的类型'[[String:AnyObject]]'下标值
我的JSON输出是
{ "templos": [
{
"id": "1",
"nombre": "S. I. Catedral Basílica de la Encarnación",
"descripcion": "Se encuentra dentro de los límites que marcaba la desaparecida muralla árabe sobre el solar de la primitiva mezquita aljama, el lugar donde los Reyes Católicos Isabel y Fernando ordenaron erigir un templo cristiano a los pocos días de conquistar la ciudad en 1487.\r\n\r\nSe caracteriza por tener una de las dos torres incompleta, popularmente haciendolo llamar entre los malagueños como la \"manquita\".",
"antiguedad": "1782",
"estilo": "Arquitectura Renacentista",
"calle": "Calle Molina Lario, 9, 29015",
"latitud": "36.7201678",
"longitud": "-4.419310600000017",
"director": "Sr. Obispo, Mons. Jesús Catalá Ibáñez",
"titulares": "En el Sagrario de la Santa Iglesia Catedral se encuentra el Santísimo Cristo Mutilado.",
"horario": "Santa Iglesia Catedral:\r\n\r\n · Horarios de apertura\r\n -De lunes a viernes: de 9 a 19 h.\r\n -Sábados: de 9 a 20 h.\r\n -Domingos: de 8:30 a 20 h.\r\n\r\n · Misas\r\n -De lunes a sábado: 9:15 h. con rezo de Laudes\r\n -Vísperas de domingos y de festivos: 19 h.\r\n -Domingos y festivos: 9, 10, 11:30, 13 y 19 h.\r\n\r\n · Confesiones\r\n -Media hora antes de cada misa\r\n -Visitas concertadas en taquilla\r\n De lunes a viernes: de 10 a 18 h.\r\n Sábados: de 10 a 17 h.\r\n -Visitas no concertadas\r\n Domingos: de 14 a 18 h.\r\n\r\nSagrario de la Catedral:\r\n\r\n · Horarios de apertura\r\n -De lunes a viernes: de 10:15 a 12:15 h. y de 18 a 19 h.\r\n -Sábados: de 10:15 a 12:15 h.\r\n -Domingos: de 9:30 a 13:30 h.\r\n\r\n · Misas\r\n -De lunes a viernes: 10:30, 11:30 y 18:30 h.\r\n -Sábados: 10:30 y 11:30 h.\r\n \r\n · Confesiones\r\n -Media hora antes de cada misa\r\n\r\n · Bodas\r\n -Sábados por la tarde\r\n\r\n · Visitas no concertadas\r\n -Domingos: de 9:30 a 13:30 h."
}
],
"success": 1
}
答案 0 :(得分:2)
您只需使用json结果并将标签填充为:
Alamofire.request(.GET, "http://elpenitente.playcofrade.com/json/get_templos.php?id=(pasarid value here)").responseJSON { (responseData) -> Void in
let swiftyJsonVar = JSON(responseData.result.value!)
if let resData = swiftyJsonVar["templos"].array {
self.completo.text = resDate[0]["nombre"].string
}
})