I have an iOS/Apple Watch OS2 App that needs an API for getting some data.
When getting this data from the iOS App it parses its info with no problem, but when parsing the data from the watch it says it is an string when it actually is an Array.
Any ideas why I'm getting this? Here is the code where I parse the request just in case.
Thanks in advance!
let requestTask = session.dataTaskWithRequest(request) { (data, response, error) -> Void in
if let requestError = error {
onError(["error":requestError.localizedDescription])
} else {
let urlResponse:NSString = (((response as! NSHTTPURLResponse).URL)?.absoluteString)!
let statusCode:Int = (response as! NSHTTPURLResponse).statusCode
do{
if var oneJsonResponse = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions()) as? Dictionary<String, AnyObject> {
oneJsonResponse["statusCode"] = statusCode
oneJsonResponse["URL"] = urlResponse
onSuccess(oneJsonResponse)
} else if let multipleJsonResponses:NSArray = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions()) as? NSArray{
onSuccess(["data":multipleJsonResponses,"URL":urlResponse, "statusCode":statusCode])
} else if let stringResult = NSString(data: data!, encoding: NSUTF8StringEncoding) {
onSuccess(["results" : stringResult, "URL":urlResponse, "statusCode":statusCode])
} else {
onSuccess(["URL":urlResponse, "statusCode":statusCode])
}
} catch {
do {
if let multipleJsonResponses:NSArray = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions()) as? NSArray {
onSuccess(["data":multipleJsonResponses,"URL":urlResponse, "statusCode":statusCode])
}
} catch {
if let stringResult = NSString(data: data!, encoding: NSUTF8StringEncoding) {
onSuccess(["results" : stringResult, "URL":urlResponse, "statusCode":statusCode])
} else {
onSuccess(["URL":urlResponse, "statusCode":statusCode])
}
}
}
}
}