【发布时间】:2016-01-30 12:38:02
【问题描述】:
首先,我需要使用之前的 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
}
【问题讨论】:
-
你已经陈述了你的目标,并发布了一些代码。那么你的代码有什么问题?它怎么不符合你的目标?编译失败了吗?运行时崩溃?给出错误的结果?具体一点。
-
已更新,感谢您的建议@DuncanCpan>
-
arrRes是一个字典数组,但随后您执行var dict = self.arrRes并尝试像访问字典一样访问它。这是你的问题。 -
它是因为您的
arrRes是一个字典数组,因此您无法使用键值访问它 -
你可以给你发帖
JSON