AFNetworking 发送 URL 作为 post 参数

AFNetworking sending URL as post parameter

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

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

它将额外的 '\' 字符添加到 link 中。 当我记录该数据字符串时,它记录为

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 在这种情况下返回错误。 我怎样才能克服这个问题?

任何帮助都将不胜感激。 谢谢

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