2014-10-27 7 views
0

Здесь я использую код JSON. Этот формат синтаксического анализа возвращает только словари. Мне нужно разобрать мой массив; [{"id": "1", "Venue_Name": "Fashon Show"}]. Как я могу анализировать словари из массива, а не просто использовать словарь в этом формате?Parse JSON словарь внутри массива

let urlAsString = "http://date.jsontest.com" 
let url: NSURL = NSURL(string: urlAsString) 
let urlSession = NSURLSession.sharedSession() 

//2 
let jsonQuery = urlSession.dataTaskWithURL(url, completionHandler: { data, response, error -> Void in 
    if (error != nil) { 
    println(error.localizedDescription) 
    } 
    var err: NSError? 

    // 3 
    var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSDictionary 
    if (err != nil) { 
    println("JSON Error \(err!.localizedDescription)") 
    } 

    // 4 
    let jsonDate: String! = jsonResult["date"] as NSString 
    let jsonTime: String! = jsonResult["time"] as NSString 

    dispatch_async(dispatch_get_main_queue(), { 
    self.dateLabel.text = jsonDate 
    self.timeLabel.text = jsonTime 
    }) 
}) 
// 5 
jsonQuery.resume() 
} 

ответ

0

Это было легче, чем я ожидал ...

Просто изменилось JsonResult в массив,

var jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as NSArray 
if (err != nil) { 
println("JSON Error \(err!.localizedDescription)") 
} 

и изменил JsonResult внутри этого кода на [0]

let jsonDate: String! = jsonResult[0]["date"] as NSString 
Смежные вопросы