Swift Dynamic Cast не удалось выполнить NSJSONSerialization

У меня есть данные JSON, которые выглядят так:

[ { "Name" : "Ernst Handel", "City" : "Graz", "Country" : "Austria" }, { "Name" : "Wolski Zajazd", "City" : "Warszawa", "Country" : "Poland" } ] 

и я конвертирую его в NSDictionary, используя:

 var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData( data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary 

Я обычно использую это. Работает как для числовых, так и для ассоциативных типов JSON. Он работает и на вас. Я пытался.

 func JSONParseArray(jsonString: String) -> [AnyObject] { if let data = jsonString.dataUsingEncoding(NSUTF8StringEncoding) { if let array = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions(0), error: nil) as? [AnyObject] { return array } } return [AnyObject]() } 

Ваш JSON содержит корневой объект типа NSArray, а не NSDictionary

 var jsonResult: NSArray = NSJSONSerialization.JSONObjectWithData( data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSArray 

См. Это … это может помочь вам

это мой json

и я разбирался вот так ..

Его взгляд такой же результат ..

 var err: NSError var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary println(jsonResult) self.productsArray = jsonResult.valueForKey("products") as NSMutableArray println( self.productsArray.count); var toInt: Int = self.productsArray.count for value in 1...toInt-1 { self.valuesArray.addObject(productsArray.objectAtIndex(value).valueForKey("item_name")!) } 

self.valuesArray, self.productsArray – изменяемый массив

Interesting Posts
Давайте будем гением компьютера.