1
我有一個JSON獲取發生,然後我做了數據的東西。我的JSONObject被創建,然後我開始處理數據。一個樣本可以在這裏看到:https://openlibrary.org/api/books?bibkeys=1593243987&f&jscmd=data&format=jsonJSON展開未運行
我的第一個塊提取作者姓名是完美的,但第二個提取封面url作爲字符串甚至沒有運行,我不知道爲什麼。
如果我在if let thumbs = bookDictionary["cover"] as? NSArray {
處設置了一個斷點,它會停止,但是當我「通過」代碼時,它會跳到最後並繼續前進,甚至不會在塊內運行任何內容。
我希望任何人都可以提供幫助。我正在使用Swift 2.0/Xcode 7b6。
let requestURL = ("https://openlibrary.org/api/books?bibkeys=" + lookUpID + "&f&jscmd=data&format=json")
let url = NSURL(string: requestURL)
let req = NSURLRequest(URL: url!)
let dataTask = session.dataTaskWithRequest(req) {
(data, response, error) in
do {
let jsonObject = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as? NSDictionary
if let bookDictionary: AnyObject = jsonObject!["\(self.lookUpID)"] {
// Retrieve the author name
var names = [String]()
if let authors = bookDictionary["authors"] as? NSArray {
for author in authors {
if let author = author as? NSDictionary,
let name = author["name"] as? String {
names.append(name)
}
}
}
// Retrieve cover url
var coverThumbURL: String = ""
if let thumbs = bookDictionary["cover"] as? NSArray {
// This code isn't running at all.
for thumb in thumbs {
if let thumb = thumb as? NSDictionary,
let thumbnail = thumb["medium"] as? String {
coverThumbURL = thumbnail
}
}
}
}
'bookDictionary [「cover」]'是一個'NSDictionary'。 – Larme
@Larme我意識到這一點,但不知道這是如何涉及到這個問題,但? – aamck
還沒有看過這個,但是如果封面是字典,那麼你對NSArray的轉換就會失敗。你需要轉換爲NSDictionary – bjtitus