在传数据给后台的时候有时候会遇到后台要求传数组或是字典过去给他(我觉得这是扯犊子),如果你直接传数组或字典过去,这时候你和后台就会开始准备干架了。所以下面就说下如何把数组或字典传过去给后台
NSError *error;
//把数组转为json
NSArray *jsonArr = @[@"1",@"2",@"3",@"4"];
//方式一
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonArr options:NSJSONWritingPrettyPrinted error:&error];
NSString *jsonStr = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"jsonStr = %@",jsonStr);
同理字典也是这样转
当你转化为字符串的时候经常会出现有很多的换行符或是\\出现,这时候就需要将这些符号给去掉
这时候有两种处理方式
方式一:将上面的options属性写0就OK了
方式二:
jsonStr = [jsonStr stringByReplacingOccurrencesOfString:@"\\" withString:@""];
NSMutableString *mutStr = [NSMutableString stringWithString:jsonString];
NSRange range = {0,jsonString.length};
//去掉字符串中的空格
[mutStr replaceOccurrencesOfString:@" " withString:@"" options:NSLiteralSearch range:range];
NSRange range2 = {0,mutStr.length};
//去掉字符串中的换行符
[mutStr replaceOccurrencesOfString:@"\n" withString:@"" options:NSLiteralSearch range:range2];