Так что у меня возникают проблемы с Swift 3. Я отправляю вызов на свой сервер, и я возвращаю данные, которые ожидаю. Однако я не могу понять, как создавать объекты из jsonArray, чтобы я мог легко получить доступ к данным.Swift 3 - Не могу понять, как создавать json объекты из jsonArray
Это мой FUNC до сих пор:
func getAllRoles(refreshToken: String){
print("vi kører getAllRoles \(refreshToken)")
let urlPath = "http://keebintest-pagh.rhcloud.com/api/users/allroles/"
let url = NSURL(string: urlPath)
let session = URLSession.shared
let request = NSMutableURLRequest(url: url as! URL)
request.addValue(refreshToken, forHTTPHeaderField: "refreshToken")
request.httpMethod = "GET"
let task = session.dataTask(with: request as URLRequest, completionHandler: {data, response, error -> Void in
print("Task completed \(data) and response is xxxx")
let responseString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
print("responseString = \(responseString!)")
// Her laver vi data om til en dictionary
// let s = (try! JSONSerialization.jsonObject(with: data!, options: .mutableContainers)) as! String
// print("det virkede?")
// print(s)
// var json: Array<String>!
// do {
// json = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions()) as? Array
// } catch {
// print(error)
// }
//
// print("her er mit json \(json[0])")
})
task.resume()
}
Это то, что мой журнал консоли выглядит следующим образом:
Task completed Optional(56 bytes) and response is xxxx
responseString = [{"id":1,"roleName":"Admin"},{"id":2,"roleName":"User"}]
here is my json {
id = 2;
roleName = User;
}
Так, очевидно, я получаю мои данные, и это в массив, который я могу доступ. Однако я не могу понять, как создать jsonObjects из каждого из массивов. Может ли кто-нибудь помочь?
Заранее благодарен!
Возможный дубликат [Deserialize массив JSON для массива Swift объектов] (http://stackoverflow.com/questions/37149588/deserialize-a-json-array-to-a-swift -array-of-objects) – shallowThought