数组github Api Swift中没有数据

时间:2018-03-15 03:14:53

标签: json swift github tableview

如何从if table语句中获取“名称”到我的tableview中?代码现在触发了else块。我试图解析github api中的名称数据。这是代码:

import UIKit
import Foundation

class ViewController: UITableViewController {

var tableArray = [String] ()

override func viewDidLoad() {
    super.viewDidLoad()
    self.tableView.dataSource = self
    self.tableView.delegate = self
    parseJSON()

}

func parseJSON () {

    let url = URL(string: "https://api.github.com")

    let task = URLSession.shared.dataTask(with: url!) {(data, response, error ) in

    guard error == nil else {
        print("returned error")
        return
    }

    guard let content = data else {
        print("No data")
        return
    }

    guard let json = (try? JSONSerialization.jsonObject(with: content, 
options: JSONSerialization.ReadingOptions.mutableContainers)) as? 
[String: Any] else {
        print("Not containing JSON")
        return
    }

    if let array = json["name"] as? [String] {
        self.tableArray = array
    } else {

        print("Name is blank")

        }

    print(self.tableArray)

    DispatchQueue.main.async {
        self.tableView.reloadData()
    }


    }

    task.resume()
}

}

extension ViewController {

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as UITableViewCell
    cell.textLabel?.text = self.tableArray[indexPath.row]

    return cell
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

    return self.tableArray.count



}

}

现在它在控制台中显示“名称为空”。我试图获取用户的名称并在tableview中显示它们。其他网址似乎有效,但我似乎无法弄清楚Github。谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

上面https://api.github.com

url是api list not information user

的信息

这个正确的https://api.github.com/users/{user}

given response image

  • json["name"]可以为null