今天進行老項目的改版荚藻,界面已經(jīng)搭建完成屋灌,就差和后臺進行數(shù)據(jù)對接,但是接下來悲劇的事情發(fā)生了:獲取到數(shù)據(jù)流轉(zhuǎn)為json格式數(shù)據(jù)時報錯了应狱,安卓那邊可以獲取json數(shù)據(jù)共郭,但是iOS端一直報錯,無法進行解析
打印錯誤信息如下:
Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)"
將data數(shù)據(jù)轉(zhuǎn)為字符串打印發(fā)現(xiàn)疾呻,在這條字符串的前面有空格部分除嘹,這部分是一些制表符
NSString *messageInfo = [[NSString alloc]initWithData:response encoding:NSUTF8StringEncoding];
NSLog(@"sss%@sss", messageInfo);
messageInfo = [messageInfo stringByReplacingOccurrencesOfString:@"\r\n" withString:@"" ];
messageInfo = [messageInfo stringByReplacingOccurrencesOfString:@"\n" withString : @"" ];
messageInfo = [messageInfo stringByReplacingOccurrencesOfString:@"\t" withString : @"" ];
NSLog(@"%@", messageInfo);
經(jīng)過上面這些公式處理后,就可以獲得json格式的字符串了
NSDictionary *responseObject = [NSString dictionaryWithJsonString:messageInfo];
/*!
* @brief 把格式化的JSON格式的字符串轉(zhuǎn)換成字典
* @param jsonString JSON格式的字符串
* @return 返回字典
*/
+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {
if (jsonString == nil) {
return nil;
}
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *err;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableContainers
error:&err];
if(err) {
NSLog(@"json解析失敯段稀:%@",err);
return nil;
}
return dic;
}
這樣就可以獲取到字典格式的數(shù)據(jù)了