我正在调用一个API,我在其中发送URL
链接作为post参数。
但是在使用
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会返回错误。 我怎么能克服这个?
任何帮助都会非常明显。 感谢
答案 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。