ios - 如何在 Swift4 中访问 JSON 响应中的特定数据

标签 ios swift jsonresponse

这是我收到响应的代码,我想在其中使用一些值 我是这样写的,但是错误来了

let id = json["emp_id"] as! [String:Any]
let parameters = [
        "email": empEm,
        "password":"1234"
        ] as [String : Any]
    guard let url = URL(string: "http://localhost:8080/company/employee/login") 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 response = response {
            print(response)
        }

        if let data = data {
            do {
                let json = try JSONSerialization.jsonObject(with: data, options: [])
                print(json)
                let id = json["emp_id"] as! [String:Any]


            } catch {
                print(error)
            }
        }

        }.resume()

我的回答是

{
    available = 3;
    compoff = 0;
    displayname = Vamsi;
    "emp_id" = 001;
    gender = Male;
    id = 1;
    leaves = 4;
    rating = 0;
    star = 0;
    "termination_date" = active;
    wfh = 0;
}

我想从响应中获取 id、emp_id 等详细信息

最佳答案

您需要像这样解码您的 JSON:

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

JSONSerialization.jsonObject的返回值为Any,所以需要具体告诉编译器这个JSON代表的是什么对象。在你的情况下它是一个字典,所以使用 [String: Any]

关于ios - 如何在 Swift4 中访问 JSON 响应中的特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56898886/

相关文章:

ios - 如何让我的形象隐藏在我的标签后面?

ios - WatchKit 的 willActivate() 函数。 Xcode 不喜欢 self.view.insertSubview

ios - 如何使用AFNetworking在Http请求中发送json数据

python - 如何使用 Django 的 assertJSONEqual 来验证 View 返回 JsonResponse 的响应

ios - 没有appstore可以安装IOS APP吗?

ios - 如何为不同类型的单元格重用 UITableViewCell

ios - 当我的应用程序在后台运行时,是否可以在通知上设置 PresentationsOptions?

swift - 强制子类快速实现协议(protocol)

ios - 在IOS Realm 主键中,如何更新数据,如果已经存在,则不应花费两次?

php - Symfony 和 Willdurand/Hateoas Bundle - JSON 响应上没有链接