使用JSON数据填充UILabel并对URL

时间:2016-01-30 12:38:02

标签: ios json swift

首先,我需要使用之前的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
    }

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
             }
})