我已經添加到我的項目SwiftyJSON.swift文件,我試圖從網上獲取一些數據。現在我的項目運行,但直到我試圖從字典中獲取json數組的行。我無法理解問題出在哪裏,但我猜測它必須是非常愚蠢的,因爲我剛剛開始學習迅速。iOS編程,獲取JSON數據
我只是試圖在控制檯中打印來自該網址的所有電影的名稱,並且在我設法實現此性能後,我將嘗試獲取電影的摘要,然後將它們放入TableView中。
import UIKit
class FirstViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//grab the status code and check if the transfer was successful == 200
let requestURL: NSURL = NSURL(string: "https://itunes.apple.com/us/rss/topmovies/limit=50/json")!
let urlRequest: NSMutableURLRequest = NSMutableURLRequest(URL: requestURL)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(urlRequest) {
(data, response, error) -> Void in
let httpResponse = response as! NSHTTPURLResponse
let statusCode = httpResponse.statusCode
if (statusCode == 200) {
//sort through the stations key and cast the data into an array of dictionaries
do{
let json = try NSJSONSerialization.JSONObjectWithData(data!, options:.AllowFragments)
print("bbbbb")
// From here on, it doesn't print anything anymore
if let movies = json["entry"] as? [[String: AnyObject]] {
print(movies)
print("test")
for movie in movies {
if let name = movie["name"] as? String {
print("mmmm")
print("%@ (Built %@)",name)
}
}
}
}catch {
print("Error with Json: \(error)")
}
}
}
task.resume()
嘗試打印出'json'字典的內容,通過''print(「json contents is \(json)」)'「在你試圖獲得'movies'之前」。我有興趣找出如果真的有'入口',我猜是有的,但它可能嵌套在其他東西里。 –
通過觀察這個,我會在黑暗中刺戳並說json沒有一個叫做入口的關鍵字。如果你想強制把這個錯誤改成你想要的那樣,它可能會讓你知道發生了什麼 –
@MichaelDautermann我剛剛在我試圖獲得電影的那一行之前添加了你的打印行,但它仍然沒有打印任何東西,我在控制檯上唯一的東西就是前面打印的bbbbb –