好了,开始装B了。也算纪录下自己做开发的一些小知识。
前些时间开发一个发表朋友圈的app,因为用户不知道填了什么字符,最后json数据直接都解析不了。这段字符串奇怪的地方在于你看不见那个字符,其实是0-32为的操作字符,任何的文本编辑都不会显示的,有些文本会显示点号。最后我就想办法把点号去掉了。直接上代码
//删除JSON字符串里面的ASCII码控制符号,导致JSON不能正常解析
-(NSString*)deleteASCIIControllerStr:(NSString*)httpStr{
unicharc =0x01;
NSMutableString*controllerStr= [NSMutableStringstring];
for(inti =0; i <=32; i++) {
NSString*cString = [NSStringstringWithFormat:@"%c",c];
[controllerStrappendString:cString];
c = c+1;
}
for(inti =0; i
unicharbs = [controllerStrcharacterAtIndex:i];
NSString*bstring = [NSStringstringWithFormat:@"%c",bs];
httpStr = [httpStrstringByReplacingOccurrencesOfString:bstringwithString:@""];
}
returnhttpStr;
}
代码的大概意思是循环每个操作字符,用空替换操作字符。这样就能正常解析JSON字符串了。
很少能遇到的bug。纪录下。嘿嘿!
网友评论