2015-03-03 2 views
0

У меня есть база данных, созданная в Cloudant, и я пытаюсь разобрать эти данные в моем проекте Swift. Я импортировал библиотеки Cloudant, но я не могу разобрать данные.Получение данных JSON от облачного

Вот код, который я использую до сих пор

var url = "https://username:[email protected]/dashboard.html#/database/db_2/login_details" 
var request = NSMutableURLRequest() 
request.URL = NSURL(string: url) 
request.HTTPMethod = "GET" 

NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue(), completionHandler:{ (response:NSURLResponse!, data: NSData!, error: NSError!) -> Void in 
    var error: AutoreleasingUnsafeMutablePointer<NSError?> = nil 
    let jsonResult: NSDictionary! = NSJSONSerialization.JSONObjectWithData(data, options:NSJSONReadingOptions.MutableContainers, error: error) as? NSDictionary 
    if jsonResult != nil { 
     if let item = json[0] { 
      if let student_name = item["Student_name"] { 
       if let pasword = student_name["password"] { 
        println("Login Successfull") 
       } 
      } 
     } 
    } 
} 

Может кто-нибудь сказать мне, где я буду неправильно?

+1

Попробуйте развернуть свой url NSURL (строка: url)! –

+0

Что случилось? Ошибка? Неправильное поведение? Flying Spahetti Monster съел ваш единственный бублик, когда вы пытались запустить код? Вам нужно будет предоставить более подробную информацию о том, что «я не могу разобрать данные». означает в вашей ситуации. – Aiken

+0

Этот код ничего не делает. Это то, что я подразумеваю, не анализируя данные. – user3759616

ответ

0

Вы должны использовать stringByAddingPercentEscapesUsingEncoding (NSUTF8StringEncoding) для преобразования любых специальных символов, которые могут иметь ваши ссылки. Также NSURL может вернуть нуль, поэтому вам нужно будет использовать, если разрешите его обрабатывать следующим образом:

if let link = "https://username:[email protected]/dashboard.html#/database/db_2/login_details".stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding) { 
    if let checkedUrl = NSURL(string: link) { 
     println("valid Url") 
     // your code 
    } else { 
     println("invalid Url") 
    } 
} 
Смежные вопросы