有一個問題困擾了我兩天時間,因為現在要做一個聊天回放功能,需要從接口獲取聊天數據并解析。然而接口并沒有,所以找后臺要了一下聊天數據,得到了一個txt文件。
我嘗試把txt文件放到Xcode中解析。
NSString* path = [[NSBundlemainBundle]pathForResource:@"LBChatDemo"ofType:@"json"];
NSData*data = [NSDatadataWithContentsOfFile:path];
NSString*stringdata = [[NSStringalloc]initWithData:dataencoding:NSUTF8StringEncoding];
NSData*contData = [stringdata dataUsingEncoding:NSUTF8StringEncoding];
NSError*myError =nil;
NSDictionary*myData = [NSJSONSerializationJSONObjectWithData:contDataoptions:NSJSONReadingMutableContainerserror:&myError];
然而得到的myData是nil,查看error,內容是
NSDebugDescription=Unescaped control character around character 349.
于是百度,http://bbs.csdn.net/topics/390835989
http://www.cnblogs.com/tanglimei/p/5023937.html
解決原因是,帶有空格等不能解析的特殊字符串
NSString*changeString = [stringdatastringByReplacingOccurrencesOfString:@"\t"withString:@""];
changeString = [changeStringstringByReplacingOccurrencesOfString:@"\n"withString:@""];
changeString = [changeStringstringByReplacingOccurrencesOfString:@"\r"withString:@""];
NSData*contData = [changeStringdataUsingEncoding:NSUTF8StringEncoding];
加上一個替換就ok了
對于AF請求下來的數據:http://blog.csdn.net/u011189158/article/details/43022347