arrays - Swift: check if jsonObjectWithData is json or not -


i have swift application communicates http server,

the answers server may json, or not. need check print answer dictionary or array, in order avoid fatal error: unexpectedly found nil while unwrapping optional value @ nsjsonserialization.jsonobjectwithdata(dataval, options: nsjsonreadingoptions.mutablecontainers, error: nil) as! nsdictionary

this jsonobjectwithdata:

var dataval: nsdata =  nsurlconnection.sendsynchronousrequest(request, returningresponse: &response, error:nil)! elimresponse = response?.description         elim = nsjsonserialization.jsonobjectwithdata(dataval, options: nsjsonreadingoptions.mutablecontainers, error: nil) as! nsdictionary 

what try like:

if dataval json{     elim = nsjsonserialization.jsonobjectwithdata(dataval, options: nsjsonreadingoptions.mutablecontainers, error: nil) as! nsdictionary     println(elimjson)     }else{     elim = nsjsonserialization.jsonobjectwithdata(dataval, options: nsjsonreadingoptions.mutablecontainers, error: nil) as! nsarray     println(elim)     } 

thank help. regards.

you can try casts in if let this:

if let elim = nsjsonserialization.jsonobjectwithdata(dataval, options: nil, error: nil) as? nsdictionary {     println("elim dictionary")     println(elim) } else if let elim = nsjsonserialization.jsonobjectwithdata(dataval, options: nil, error: nil) as? nsarray {     println("elim array")     println(elim) } else {     println("dataval not valid json data") } 

update swift 2.0

do {     if let elim = try nsjsonserialization.jsonobjectwithdata(dataval, options: []) as? nsdictionary {         print("elim dictionary")         print(elim)     } else if let elim = try nsjsonserialization.jsonobjectwithdata(dataval, options: []) as? nsarray {         print("elim array")         print(elim)     } else {         print("dataval not valid json data")     } } catch let error nserror {     print(error) } 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -