Parse JSON using Swift / SwiftyJSON
Ich habe mehrere Tutorials dazu gelesen und soweit ich das beurteilen kann, sollte es funktionieren. Ich habe die folgende json-Antwort von einem API-Aufruf
{
"Id": "1",
"Name": "Test User",
"Email": "[email protected]",
"ProfileImage": null,
"IsAdmin": true,
"TakesJobs": false,
"IsLocationUser": false,
"IsCompanyAdmin": true,
"LocationUsers": [],
"CompanyUsers": [{
"CompanyName": "Test Company",
"Id": 6,
"CompanyId": 5,
"UserId": "1",
"Admin": true,
"TakesJobs": false,
"UserName": null,
"UserEmail": null,
"AssignedJobs": null
}]
}
Grundsätzlich möchte ich nur überprüfen, ob der ID-Wert leer ist oder nicht. Hier ist der Code, den ich benutze
Der Rückgabetyp für res ist JSON
ApiConnector.sharedInstance.login(emailText.text!, password: passwordText.text!) { (res) in
if let id = res["Id"] as? String {
if id != "" {
}
else
{
}
}
}
Ich erhalte eine Warnung, die besagt, dass die Umwandlung von 'JSON' in den nicht verwandten Typ 'String' immer fehlschlägt.
Was muss ich ändern, um den Wert von Id zu sehen?
Dies ist der Code aus der ApiConnector-Klasse
func login(username: String, password: String, onCompletion: (JSON) -> Void) {
let route = baseURL + "auth?Email=" + username + "&Password=" + password
makeHTTPPostRequest(route, body: ["Email":username, "Password": password], onCompletion: { json, err in
onCompletion(json as JSON)
})
}