Итак, я делаю HTTP-запрос и получаю ответ, который выглядит примерно так:
{
"code": 200,
"status": "success",
"patients": {
"bogdanp": {
"_id": "5e77c7bbc7cbd30024f3eadb",
"name": "Bogdan Patient",
"phone": "0732958473"
},
"robertp": {
"_id": "5e77c982a2736a0024e895fa",
"name": "Robert Patient",
"phone": "0739284756"
}
}
}
Как получить "богданп" в виде строки и как получить доступ к свойствам объекта? Например, как получить доступ к «имени» или «телефону» и т. Д.?
Вот мой HTTP-код:
func getPatients(link: String, username: String)
{
var code = 0 // this is the variable that stores the error code from the response, it is initially set to 0
let parameters: [String : Any] = ["username": username]
let url = URL(string: link)!
let session = URLSession.shared
var request = URLRequest(url: url)
request.httpMethod = "POST"
do {
request.httpBody = try JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted)
} catch _ {
}
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
let task = session.dataTask(with: request as URLRequest, completionHandler: { data, response, error in
guard error == nil else {
return
}
guard let data = data else {
return
}
do {
if let jsonResponse = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] {
// Here I want to access the json response
}
} catch _ {
}
})
task.resume()
}
code
текст. - person pkamb   schedule 26.03.2020