AFNetworking将URL作为post参数发送

时间:2015-06-18 13:44:16

标签: ios objective-c afnetworking-2 nsurlrequest

我正在调用一个API,我在其中发送URL链接作为post参数。 但是在使用

将其转换为JSON数据时
NSData* jsonData  = [NSJSONSerialization dataWithJSONObject:lParameters options:NSJSONWritingPrettyPrinted error:&error];

它在链接中添加了额外的'\'字符。 当我记录该数据字符串时,它记录如

data string : {
  "id" : "1",
  "photoLink" : "https:\/\/7.7.100.120:8443\/webresource\/carsevent\/gallery\/approved\/image-a31ea5e0-6284-402a-9e6a-b0cdba37bc1f.png"
}

记录:

词典:

{
    id = 1;
    photoLink = "https://7.7.100.120:8443/webresource/carsevent/gallery/approved/image-a31ea5e0-6284-402a-9e6a-b0cdba37bc1f.png";
}

因此,在这种情况下,API会返回错误。 我怎么能克服这个?

任何帮助都会非常明显。 感谢

1 个答案:

答案 0 :(得分:0)

JSON必须使用" \"转义某些字符。性格,即使" /"不需要被转义它被允许被转义。因此,带有转义的JSON" /"字符有效,应该由API接受。

如果需要,您可以删除它们。

NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\\/" withString:@"/"];
jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];

提交错误报告:http://bugreport.apple.com请求不要逃避的选项" /"。

请参阅此SO answer

有关必须转义的字符,请参阅JSON