ios - Why is "data" not a dictionary -


i'm trying parse json i'm getting api using swiftyjson , it's giving me error: optional(error domain=swiftyjsonerrordomain code=901 "dictionary["data"] failure, not dictionary" userinfo={nslocalizeddescription=dictionary["data"] failure, not dictionary})

the json:

{ "status": 200, "error": "", "data": {     "cursusses": [         {             "cursus": {                 "curid": 1,                 "curnaam": "lightroom tips & tricks",                 "catid": 1,                 "curinfo": "praktische en korte tips en tricks om sneller en prettiger met lightroom te kunnen werken.",                 "curthumbnail": "lr5-tips-en-tricks.jpg"             }         },         {             "cursus": {                 "curid": 2,                 "curnaam": "lightroom fotobewerkingen",                 "catid": 1,                 "curinfo": "per video wordt er in deze cursus een nabewerking uitgevoerd op een foto. een leerzame manier om te zien hoe je in de praktijk foto's kunt nabewerken terwijl je daarnaast veel praktische tips krijgt on het gebruik van lightroom 5.",                 "curthumbnail": "lr5-bewerkingen.jpg"             }         },         {             "cursus": {                 "curid": 3,                 "curnaam": "photoshop fotobewerkingen",                 "catid": 2,                 "curinfo": "per video wordt er in deze cursus een nabewerking uitgevoerd op een foto. een leerzame manier om te zien hoe je in de praktijk foto's kunt nabewerken terwijl je daarnaast veel praktische tips krijgt on het gebruik van photoshop.",                 "curthumbnail": "photoshop-cc.jpg"             }         },         {             "cursus": {                 "curid": 4,                 "curnaam": "basiscursus lightroom 5",                 "catid": 1,                 "curinfo": "leer de basisvaardigheden voor het werken met adobe photoshop lightroom. on het werken met catalogussen, importeren, het selectieproces, de nabewerking en het exporteren.",                 "curthumbnail": "basiscursus-lightroom-5.jpg"             }         },         {             "cursus": {                 "curid": 5,                 "curnaam": "photofacts academy",                 "catid": 3,                 "curinfo": "toelichting on het gebruiken van de photofacts academy website.",                 "curthumbnail": "photofacts-academy.jpg"             }         },         {             "cursus": {                 "curid": 6,                 "curnaam": "lightroom 5 web module",                 "catid": 1,                 "curinfo": "met de lightroom web module kun je eenvoudig van je foto's een online galerij maken.",                 "curthumbnail": "lr5-web-intro.jpg"             }         },         {             "cursus": {                 "curid": 7,                 "curnaam": "photoshop tips & tricks",                 "catid": 2,                 "curinfo": "praktische tips voor het gebruik van adobe photoshop cc.",                 "curthumbnail": "photoshop-cc-splash.jpg"             }         }     ] } } 

i'm trying use block of code parse data, function called in completionhandler of alamofire request:

func succescurresponse(let response : response<string, nserror>) {     if let value = response.result.value {         let json = json(value)         let error = json["error"].stringvalue         print(json["data"].error)         if(error.isempty) {             for(var = 0; < json["data"]["cursusses"].count; i++) {                 let name = json["data"]["cursusses"][i]["cursus"]["curnaam"].stringvalue                 let id = json["data"]["cursusses"][i]["cursus"]["curid"].intvalue                 let catid = json["data"]["cursusses"][i]["cursus"]["catid"].intvalue                 let info = json["data"]["cursusses"][i]["cursus"]["curinfo"].stringvalue                 let thumbnail = json["data"]["cursusses"][i]["cursus"]["curthumbnail"].stringvalue                 let newcur = cursus()                 newcur.id = id                 newcur.name = name                 newcur.info = info                 newcur.thumbnail = thumbnail             }         }         else {             print(error)         }     } } 

any suggestions?

sorry, don't know swift. following objective-c code resolve issue.

objecive-c :

nsarray *cursussesarray = [json valueforkey:@"cursusses"];      (nsdictionary *singlecursussedict in cursussesarray) {         nslog(@"%@", singlecursussedict);          nsdictionary *cursus = [singlecursussedict valueforkey:@"cursus"];     } 

i give try in swift

let cursussesarray:nsarray = json[“cursusses”]  singlecursussedict: nsdictionary in cursussesarray {     print(singlecursussedict)     cursusdict: nsdictionary = json[“cursus”]     print(cursusdict) } 

Comments

Popular posts from this blog

Hatching array of circles in AutoCAD using c# -

ios - UITEXTFIELD InputView Uipicker not working in swift -

Python Pig Latin Translator -