Swift3 如何在Swift 3上从JSON获取每个数据?
我在数据库中注册了一些用户数据,然后API返回JSON usuario中的其他数据,如下所示: 我试图从这个JSON中获取idUsuario、nome和cpf并打印出来,看看它们是否正确,但它们不会出现在控制台上Swift3 如何在Swift 3上从JSON获取每个数据?,swift3,Swift3,我在数据库中注册了一些用户数据,然后API返回JSON usuario中的其他数据,如下所示: 我试图从这个JSON中获取idUsuario、nome和cpf并打印出来,看看它们是否正确,但它们不会出现在控制台上 @IBAction func botaoSalvar(_ sender: Any) { let nomeUsuario = self.campoUsuario.text; let cpf = self.campoCPF.text; let senha = s
@IBAction func botaoSalvar(_ sender: Any) {
let nomeUsuario = self.campoUsuario.text;
let cpf = self.campoCPF.text;
let senha = self.campoSenha.text;
let parameters = ["nome": nomeUsuario, "cpf": cpf, "senha": senha, "method": "app-set-usuario"]
let urlPost = "http://easypasse.com.br/gestao/wsCadastrar.php"
guard let url = URL(string: urlPost) else { return }
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
guard let httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: []) else { return }
request.httpBody = httpBody
let session = URLSession.shared
session.dataTask(with: request) {
(data, response, error) in
if let data = data {
do {
let dadosJson = try JSONSerialization.jsonObject(with: data, options: JSONSerialization.ReadingOptions.mutableContainers) as AnyObject
if let usuario = json["usuario"] as? [String: Any] {
let idUsuario = usuario["idUsuario"] as? Int
let nome = usuario["nome"] as? String
let cpf = usuario["cpf"] as? Int
print(idUsuario as! Int, nome as! String, cpf as! Int)
}
} catch {
print(error)
}
}
}.resume()
键
usuario
的值是一个数组,请注意(
,字典是{
。请将单数/复数混淆归咎于服务所有者!所以我必须做的更改之一是更改“let dadosJson=try JSONSerialization.jsonObject”(with:data,options:JSONSerialization.ReadingOptions.mutableContainers)作为AnyObject“让dadosJson=try JSONSerialization.jsonObject(with:data,options:[])作为AnyObject”是吗?另一件事是从API中更改JSON格式,对吗?不,省略<代码>选项<代码>参数,没有类型转换为<代码>任何对象< /代码>。请考虑答案中的(更具体的)类型。