iOS 字典转字符串的格式问题

在调用接口上传数据时,有时候需要将一个字典或一个数组转换成json串,并作为一个普通的参数.
使用NSJSONSerialization对其进行转换:

NSDictionary *dic = @{@"appid":@"103905", @"tokenid":@"1", @"version":@"1", @"sign":@"1"};
NSData *JSONData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:nil];
NSString *str = [[NSString alloc] initWithData:JSONData encoding:NSUTF8StringEncoding];

大多数情况下,我们都是按照以上方法转换.但是我发现 转换后的字符串中有\n符号.这导致了参数数据设置不成功.

        @"{\n  \"tokenid\" : \"1\",\n  \"appid\" : \"103905\",\n  \"sign\" : \"1\",\n  \"version\" : \"1\"\n}"    

经过尝试后发现,这是一个参数的设置问题:

`NSJSONWritingPrettyPrinted`

这个参数的意思是转换将字典装换成打印之后跟适合阅读的字符串,结果在字符串中添加了\n符. 将这个参数成0,就不会再字符串中添加换行符了.

   NSData *JSONData = [NSJSONSerialization dataWithJSONObject:dic options:0 error:nil];

参考文章

http://stackoverflow.com/questions/19314135/ios-runtime-use-case

你可能感兴趣的:(iOS 字典转字符串的格式问题)