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)
        })
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage