如何防止NSJSONSerialization在我的URL字符串中添加额外的反斜杠?
NSDictionary *info = @{@"myURL":@"http://www.example.com/test"};
NSData data = [NSJSONSerialization dataWithJSONObject:info options:0 error:NULL];
NSString *string = [[NSString alloc] initWithData:policyData encoding:NSUTF8StringEncoding];
NSLog(@"%@", string);//{"myURL":"http:\/\/www.example.com\/test"}
Run Code Online (Sandbox Code Playgroud)
我可以去除反斜杠并使用该字符串,但如果可能的话我想跳过这一步......
我正在使用AFNetworking2.0.
在AFNetworking,AFHTTPRequestOperationManager对象有一个API:
(AFHTTPRequestOperation *)POST:(NSString *)URLString
parameters:(id)parameters
success:(void (^)(AFHTTPRequestOperation *operation, id responseObject))success failure:(void (^)(AFHTTPRequestOperation *operation, NSError *error))failure
Run Code Online (Sandbox Code Playgroud)
它接受NSDictionary作为我们希望"POST"到服务器的JSON Payload的params.在我的有效载荷中,我有以下键值对:
"buttonActionParam":"/catalog/special/international-calling"
发布此有效内容服务器会返回无效的JSON.查看服务器端的有效负载,我意识到AFNetworking实际上正在发送:
"buttonActionParam":"\/catalog\/special\/international-calling".
我知道AFNetworking库使用NSJSONSerialization的是类方法-dataWithJSONObject:,这会导致这种情况.我的问题是:
问:如何解决这个问题?