Как я могу получить авторов из книги Google с JSON в Swift? Этот код работает, но у меня проблема с авторами.Получить JSON Google Книги - IOS
Это пример JSON:
{
"kind": "books#volume",
"id": "17BYrgEACAAJ",
"etag": "snlcLszwWRo",
"selfLink": "https://www.googleapis.com/books/v1/volumes/17BYrgEACAAJ",
"volumeInfo": {
"title": "Scomparso. Dave Brandstetter mysteries",
"authors": [
"Joseph Hansen"
],
"publisher": "Elliot",
"publishedDate": "2012-01",
FUNC getBookInfo:
func getBookInfo(isbn: String) {
let url_book = "https://www.googleapis.com/books/v1/volumes?q=isbn:" + isbn
if let url = NSURL(string: url_book) {
NSURLSession.sharedSession().dataTaskWithURL(url, completionHandler: {data, _, error -> Void in
if let error = error {
print(error.localizedDescription)
} else {
let data = data,
jsonResult = try? NSJSONSerialization.JSONObjectWithData(data!, options: []),
arrayOfTitles = jsonResult!.valueForKeyPath("items.volumeInfo.title") as? [String],
arrayOfAuthors = jsonResult!.valueForKeyPath("items.volumeInfo.authors") as? [String],
arrayOfPublishers = jsonResult!.valueForKeyPath("items.volumeInfo.publisher") as? [String],
arrayUrlImageBook = jsonResult!.valueForKeyPath("items.volumeInfo.imageLinks.smallThumbnail") as? [String]
self.titles = arrayOfTitles!.joinWithSeparator(", ")
self.authors = arrayOfAuthors!.joinWithSeparator(", ")
self.publishers = arrayOfPublishers!.joinWithSeparator(", ")
let url_image_book: String! = arrayUrlImageBook!.joinWithSeparator(", ")
self.title_label.text = self.titles
self.author_label.text = self.authors
if self.publishers != nil{
self.publisher_label.text = self.publishers
}
self.book_image.downloadedFrom(url_image_book!)
}
}).resume()
}
}
Спасибо заранее.
Убедитесь, что книга, которую вы просите у авторов, на самом деле имеет авторов. Этот код правильный и тот же, что я использую в одном из моих проектов, но не у всех книг есть авторы в их API – pbush25
Да, эти авторы существуют. Я думаю, что ошибка может быть связана с массивом ["Joseph Hansen"] – Carlo
Я собираюсь опубликовать некоторый код, который слишком длинный для комментария, но демонстрирует API, который работает и возвращает авторов так же, как вы Вот. Он протестирован и работает @Carlo – pbush25