Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iOS中发送带有特殊字符的JSON字符串?_Ios_Iphone_Rest_Ios7_Nsurlconnection - Fatal编程技术网

如何在iOS中发送带有特殊字符的JSON字符串?

如何在iOS中发送带有特殊字符的JSON字符串?,ios,iphone,rest,ios7,nsurlconnection,Ios,Iphone,Rest,Ios7,Nsurlconnection,我是iOS新手,我正在使用以下代码进行API调用 -(NSData *)sendDataToServer:(NSString*)url :(NSString*)params { NSString *postDataString = [params stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSLog(@"postDataString :%@",postDataString);

我是iOS新手,我正在使用以下代码进行API调用

-(NSData *)sendDataToServer:(NSString*)url :(NSString*)params
{
    NSString *postDataString = [params stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSLog(@"postDataString   :%@",postDataString);

    NSData *postData = [postDataString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

    NSString *postLength = [NSString stringWithFormat:@"%d",[postData length]];

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    NSString *urlReq = [NSString stringWithFormat:@"%@", url];
    [request setURL:[NSURL URLWithString:urlReq]];
    [request setTimeoutInterval:180];
    [request setHTTPMethod:@"POST"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    [request setHTTPBody:[params dataUsingEncoding:NSUTF8StringEncoding]];

    responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];



    NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];

    NSLog(@"response in Server: %@",responseString);
    return responseData;

}
我将以下字符串作为参数发送到上述方法。如果我发送的以下数据没有特殊字符,我将得到成功响应。

如果我用json添加任何特殊的特许(&),我总是得到无效的响应,即服务器总是返回null

因此,当使用带有特殊字符(如“&”等)的json字符串时,是否有人能提供任何建议以获得正确的响应

submited_data={"safty_compliance_fields":[{"safty_compliance_id":"641","fieldName":"sc1","fieldType":"editText","fieldValue":"wedgies Ig"},{"safty_compliance_id":"642","fieldName":"sc2","fieldType":"editText","fieldValue":"het &"}],"status_id":"2","product_detail":[{"dynamic_fields_id":"639","fieldName":"p1","fieldType":"editText","fieldValue":"data1"},{"dynamic_fields_id":"640","fieldName":"p2","fieldType":"editText","fieldValue":"data2"}],"inspection_id":"3","second_level":[{"questions":[{"checkListValue":"NO","checkListCommentValue":"Jgkjgjkj","sub_category_id":"452","checkListName":"sl1"},{"checkListValue":"YES","checkListCommentValue":"jk","sub_category_id":"453","checkListName":"sl2"},{"checkListValue":"YES","checkListCommentValue":"gh","sub_category_id":"455","checkListName":"sl3"},{"checkListValue":"YES","checkListCommentValue":"nm","sub_category_id":"456","checkListName":"sl4"}],"title":"sl1","entity_second_level_entry_id":"130"},{"questions":[{"checkListValue":"YES","checkListCommentValue":"Bonn","sub_category_id":"454","checkListName":"s22"}],"title":"s211","entity_second_level_entry_id":"131"}],"comment":"Jgkjgjkj","status":"Ongoing"}

您没有发布百分比编码字符串,而是原始字符串