json - 在 Swift 3 中解析 JSON 文件时出错

标签 json swift

我是 Swift 的新手,我在使用 Swift 3 代码解析 JSON 时遇到了一些问题。

这是我的 JSON(摘录):

[  
   {  
      "COD_USUARIO":"4",
      "0":"4",
      "USUARIO":"PIEDAD",
      "1":"PIEDAD",
      "CLAVE":"MU\u00d1OZ",
      "2":"MU\u00d1OZ",
      "ACTIVO":"1",
      "3":"1",
      "FECHA_ALTA":"2010-12-07 00:00:00",
      "4":"2010-12-07 00:00:00",
      "FECHA_BAJA":null,
      "5":null,
      "CIF":null,
      "6":null,
      "TELEFONO_CASA":"",
      "7":"",
      "TELEFONO_MOVIL":"",
      "8":"",
      "EMAIL_TRABAJO":"",
      "9":"",
      "EMAIL_PARTICULAR":"",
      "10":"",
      "COLOR":"16777215",
      "11":"16777215",
      "ADMINISTRADOR":"0",
      "12":"0",
      "COD_PERSONA":"9",
      "13":"9",
      "IMPRESORA_ETIQUETAS":"",
      "14":"",
      "IMP_JUSTIFICANTES":"",
      "15":"",
      "VER_SESIONES":"0",
      "16":"0",
      "COD_EMPRESA":"0",
      "17":"0",
      "FECHA_TRABAJO":null,
      "18":null,
      "MEMORIZAR_FECHA":"0",
      "19":"0",
      "AVISOS_PAGOS":"0",
      "20":"0",
      "AVISOS_COBROS":"0",
      "21":"0",
      "AVISOS_DIAS":"0",
      "22":"0",
      "AVISOS_CONTRATOSC":"0",
      "23":"0",
      "24":"0"
   }
]

这是我的代码(摘录):

let url = URL(string : "http://192.168.0.252:6996/datos/policlinica/webservices/valida.php")
let session = URLSession.shared

let request = NSMutableURLRequest(url: url!)
request.httpMethod = "POST"

let paramToSend = "usu=" + user + "&pass=" + pwd

request.httpBody = paramToSend.data(using: String.Encoding.utf8)

let task = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) in
    guard let _:Data = data else{
        return
    }

    do {
        let json = try JSONSerialization.jsonObject(with: data!, options: [])
        print (json) //I can see my json in console

        let cod_persona = json["COD_USUARIO"]
        print (cod_persona)
        //error: Type 'Any' has no subscript members
    } catch {
        print ("error")
        return
    }
})
task.resume()

网上试了很多例子,都无法读取到具体的JSON数据。例如,我想读取“COD_USUARIO”字段并将数据保存在变量中,但我无法让它正常工作。

关于这个主题的任何建议或我做错了什么(确定很多事情)

最佳答案

我认为你的问题是你的 json 包含数组对象,所以我会这样调用它:

json[0]["COD_USUARIO"]

因为 COD_USUARIO 在 json 的第一个数组中。

关于json - 在 Swift 3 中解析 JSON 文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51290271/

相关文章:

swift - 对于 IOS 9.3.x 设备 (ipad),无法在 Xcode 8 中将 imageview 放在 tableview 后面

ios - 如何保持 uicollectionview 单元格之间的间距

java - 如何使用 GSON 指定序列化?

ios - AFJSONResponseSerializer 后 JSON NSDictionary 困惑

c# - 使用 Json.NET 将异构 JSON 数组反序列化为协变 List<>

java - 如何在 'old' Core Data中实现保存完成?

python - 如何在 python 中的双花括号内抓取特定数据

jquery - 当响应为 json 时,Laravel 响应 id 会发生变化,但转储数据时 id 就在那里

ios - UNNotification 的重复间隔

ios - 如何创建处理 RawRepresentable 值的自定义集合下标