serialize parse array ios json swift swift3 xcode8

ios - parse - Escriba ''Any'' no tiene miembros de subíndice en xcode 8 Swift 3



parse json swift (1)

Prueba esto:

let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as! [String:AnyObject]

Camino seguro:

do { if let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as? [String:Any] { print(json) } } catch let err{ print(err.localizedDescription) }

[String:AnyObject] emitir el tipo Any a Swift type [String:AnyObject] .

Editar: Swift 3
En swift 3, el propósito de AnyObject es más claro. Por lo tanto, el tipo de Diccionario Swift más favorable será [String:Any] .

Any es un alias para cualquier tipo de datos.
AnyObject es un alias para cualquier tipo de datos derivado de una clase.

Para obtener más información, visite: https://craiggrummitt.com/2016/09/16/any-vs-anyobject-vs-nsobject-in-swift-3/

Esta pregunta ya tiene una respuesta aquí:

Se supone que mi aplicación debe ir a una ubicación específica para desplegar el sitio web que necesita cargar. En 2.3 funcionó a las mil maravillas, pero desde que actualicé xcode (en el que no tengo mucha experiencia) me está dando el error "tipo ''Any'' no tiene miembros de subíndice" y resaltando el "json" justo antes de la línea tres

...Retriever = json["WEB"]...

Este es el código relacionado con él.

let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) if let Retriever = json["WEB"] as? [[String: AnyObject]] { for website in Retriever { if let name = website["URL"] as? String { self.loadAddressURL(name)

Siento que me falta algo pequeño. Si hay una mejor manera de hacer esto, me encantarían las sugerencias. La URL devuelve este JSON

{ "WEB" : [ { "URL" : "http://www.google.com" } ] }

pero me encantaría poder simplificarlo

{"URL":"http://www.google.com"}