0

Я делаю http-запрос с использованием сеансов. Вот мой код:Swift: не удалось сериализовать ответ Json

let task = session.dataTaskWithRequest(request){ 
    (data, response, error) -> Void in 
    if error != nil { 
     print(error?.description) 
    } else { 
     do { 
      print("data recived : \(data)") 
      let jsonContent = try NSJSONSerialization.JSONObjectWithData(data!, options:NSJSONReadingOptions(rawValue: 0)) 
      print("json content: \(jsonContent)") 
     }catch{ 

     } 
    } 
} 
task.resume() 

Когда я печатаю ответ данных я получаю это:

data recived : Optional(<OS_dispatch_data: data[0x1245c9d60] = { composite, size = 41479, num_records = 3 record[0] = { from = 0, length = 9580, data_object = 0x124584720 }, record[1] = { from = 0, length = 10846, data_object = 0x1245c9a00 }, record[2] = { from = 0, length = 21053, data_object = 0x1245c9f60 }, }>) 

Любой из вас знает, что NSJSONSerialization не работает?

Я по-настоящему благодарю вашу помощь.

+0

Похоже, что вы получаете данные; какую ценность вы ожидали в jsonContent? – Kevin

+0

@ Кевин, да, я жду Json Data – user2924482

+0

Можете ли вы уточнить, какую ошибку вы возвращаете? Добавьте 'print (error)' в блок catch – Kevin

ответ

-1
let session = NSURLSession.sharedSession() 

let task = session.dataTaskWithURL(URL, completionHandler: {(data, reponse, error) in 

let jsonResults : AnyObject 

do { 
     jsonResults = try NSJSONSerialization.JSONObjectWithData(data!, options: []) 
     // success ... 
    } 
catch let error as NSError { 
     // failure 
     print("Fetch failed: \(error.localizedDescription)") 
    } 

}) 

task.resume() 

 Смежные вопросы

  • Нет связанных вопросов^_^