尝试从 JSON URL 接收数据并将其放入 UILabel

Trying to Receive Data from a JSON URL and put it into a UILabel

我正在尝试从 JSON URL 接收数据,然后将该数据放入 UITableView - 为了简单起见,我目前正在尝试将其放入 UIlabel,但我会尝试弄清楚如何稍后使用 table!

我正在使用最新版本的 Swift 和 xCode、SwiftyJSON 和 Alamofire。

我的代码没有错误,但我想要发生的事情并没有发生。我的 UILabel 也连接正常!

这是我的代码 - (出于某种原因,当我将我的代码粘贴到此处时,一些代码未列为代码 - 虽然它在我的代码中,所以这不是问题!!!)

import UIKit
import Alamofire

class ViewController: UIViewController {

    @IBOutlet weak var dataContainer: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()

        let url = "https://opendata.gov.je/dataset/bdae149d-ff02-443a-b5ed-446a206e74f7/resource/042ea501-a4eb-48c1-9a23-9f01084d72e6/download/stats-from-govmetric.json.txt"

        Alamofire.request(.GET, url).validate().responseJSON { response in
            switch response.result {
            case .Success(let data):
                let json = JSON(data)
                let name = json["name"].stringValue
                self.dataContainer.text = data as? String
                print(response.request)
                print(response.response)
                print(response.result)
                print(name)
            case .Failure(let error):
                print("Request failed with error: \(error)")
            }
        }
    }
}

切勿使用 SwiftyJSON,但看起来您解析 json 的方式不正确。

self.dataContainer.text = data as? String

你不能这样做,因为 data 100% 非 String(我认为是 NSData)。所以你需要做这样的事情:self.dataContainer.text = name。但它也不起作用,因为你收到 json 作为数组,而不是对象。所以,我认为这段代码可以工作:

self.dataContainer.text = json[0]["Date range"].string