使用swift 3访问JSON中的值

时间:2017-11-24 21:58:43

标签: ios json swift github

我尝试使用https://api.github.com/users获取前30个GitHub用户,并将其添加到已获取用户列表中。对于每个用户;显示用户名头像图片存储库数量

当选择用户时,我需要打开另一个屏幕,其中包含所有存储库的列表。

如何按照此JSON格式访问GitHub API中的嵌套网址(" repos_url")?

{
    "login": "mojombo",
    "id": 1,
    "repos_url": "https://api.github.com/users/mojombo/repos"
} 

1 个答案:

答案 0 :(得分:0)

char dummy[2048]

}

在tableView中选择一行后。 使用

在didSelect中获取所选项目
// don't forget 
import Alamofire
import SwiftyJSON

// initialise variables

var fetchResult = [[String:AnyObject]]()
struct User{
var name:String?
var id:Int?
var repo_url:String

init(name:String,id:Int,repoURL:String){

self.name = name
self.id = id
self.repo_url = repoURL

}
}

let user = [User]


fun getData(){

    Alamofire.request("https://api.github.com/users").responseJSON { (responseData) -> Void in
                if((responseData.result.value) != nil) {
                    let response = JSON(responseData.result.value!)
                    print(response)

                    if let resData = response.arrayObject {

                      self.fetchResult = resData as! [[String:AnyObject]]

                       print(self.fetchResult)
                    }

                    for item in self.fetchResult {

                        print(item)

                       guard let login = item["login"] as! String else {return}

                       guard let id = item["id"] as! Int else {return}

                       guard let repos_url = item["repos_url"] as! String else {return}

                        let gitUser = User(name: login , id: id, repoURL: repos_url)
                        self.user.append(gitUser)
                    }

                }
              if self.user.count>0{
             self()
    }

在SecondViewController中,您可以访问所选的数据集。