尝试从 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
我正在尝试从 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