Я пытаюсь извлечь некоторые данные из объекта JSON, который я извлекаю из Reddit, и у меня возникают проблемы при использовании библиотеки SwiftyJSON (вы можете найти это здесь: https://github.com/SwiftyJSON/SwiftyJSON).Проблемы с SwiftyJSON
Я обращаюсь к API Reddit по следующему URL-адресу: «http://www.reddit.com/r/aww/hot.json« Я пытаюсь извлечь несколько пар значений из ответа json, начиная с автора списка.
Мой код ниже:
import UIKit
class ViewController: UIViewController, NSURLConnectionDelegate {
var data = NSMutableData()
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.connectReddit()
}
func connectReddit() {
let urlPath: String = "http://www.reddit.com/r/aww/hot.json"
var url = NSURL(string: urlPath)!
var request = NSURLRequest(URL: url)
var connection = NSURLConnection(request: request, delegate: self, startImmediately: false)!
connection.start()
}
func connection(connection: NSURLConnection!, didReceiveData data: NSData!){
self.data.appendData(data)
}
func connectionDidFinishLoading(connection: NSURLConnection!) {
var err: NSError?
// throwing an error on the line below (can't figure out where the error message is)
let jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
println(jsonResult)
let json = JSON(data: data)
let authorName = json["data"]["children"]["author"].stringValue
println(authorName)
}
}
Вы можете увидеть код, вызывающий класс SwifyJSON, пытаясь разобрать его для данных является следующее, я получаю ноль в ответ, когда я ясно видеть данные там.
let json = JSON(data: data)
let authorName = json["data"]["children"]["author"].stringValue
println(authorName)
Я не уверен, что я делаю неправильно здесь.
Спасибо за помощь!
Если вы посмотрите на JSON, возвращаемый этот URL вы должны заметить, что JSON [ "данные"] [ "дети"] будет массивом объектов , а не объект, содержащий «автора». –