如何在将数据发布到服务器时从字符串中删除\ n

时间:2015-03-31 12:35:47

标签: ios objective-c json post asihttprequest

我正在将数组转换为json并将其发送到服务器。

这是我将数组转换为json的代码:

NSArray *arr=[NSArray arrayWithObjects:@"1",@"2",@"3", nil];
NSData * jsonData = [NSJSONSerialization dataWithJSONObject:arr    
options:NSJSONWritingPrettyPrinted error:nil];
NSString  *finalJsonString= [[NSString alloc] initWithData:jsonData 
encoding:NSUTF8StringEncoding];
NSLog(@"jsonData as string:\n%@", finalJsonString);

我检查过finalJsonString是一个有效的json。以下是将值发布到服务器的代码:

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
request.delegate = self;
[request addRequestHeader:@"Accept" value:@"application/json"];
[request addRequestHeader:@"content-type" value:@"application/json"];
[request setRequestMethod:@"POST"];
[request setPostValue:[finalJsonString stringByTrimmingCharactersInSet: 
[NSCharacterSet whitespaceAndNewlineCharacterSet]]forKey:@"order"];

但是当我打印我的请求时它会给我:

`key = order;
value = "[\n  \"1\",\n  \"2\",\n  \"3\"\n]";`

哪个不是有效的json。

我也尝试了“stringByReplacingOccurrencesOfString”方法,但这也没有用。仅在发送请求时出现问题。任何人都可以帮我解决这个问题吗?

0 个答案:

没有答案