簡體   English   中英

使用Swift / SwiftyJSON解析JSON

[英]Parse JSON using Swift / SwiftyJSON

我已經遵循了一些教程,據我所知我應該在做什么。 我從api調用獲得以下json響應

{
    "Id": "1",
    "Name": "Test User",
    "Email": "test@email.com",
    "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
    }]
}

本質上,我只想檢查Id值是否為空。 這是我正在使用的代碼

res返回類型為JSON

ApiConnector.sharedInstance.login(emailText.text!, password: passwordText.text!) { (res) in
    if let id = res["Id"] as? String {
        if id != "" {

        }
        else
        {

        }

    }
}

我收到一條警告,說從'JSON'轉換為不相關的類型'String'總是失敗。

我需要更改什么才能看到Id的值?

這是來自ApiConnector類的代碼

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

我想你想要這樣的東西:

ApiConnector.sharedInstance.login(emailText.text!, password: passwordText.text!) { (res) in
    if let id = res["Id"].string {
      // Do something.
    }
}

您正在使用哪個庫處理json? 如果快速json您可以做類似的事情

res["id"]?.string

如果您在“ res”類型上什么都沒說,我們將無法回答您。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM