发送多个json数据到服务器 - ios
问题描述:
我需要发送json数据到服务器。我能够发送json对象到服务器。但我想发送多个json对象到像下面的服务器。发送多个json数据到服务器 - ios
Json1:
{
"Comments" : "test”,
"user_id" : “test”,
"EdDate" : "08\/26\/2015 03:16:58 PM",
"StDate" : "08\/26\/2015 03:16:20 PM",
"latitude" : "",
"longitude" : "",
"sample" : [
{
"quantity" : “1”,
}
]
}
的Json 2:
{
"Comments" : "test”,
"user_id" : “test”,
"EdDate" : "08\/26\/2015 04:11:51 PM",
"StDate" : "08\/26\/2015 04:11:21 PM",
"latitude" : "",
"longitude" : "",
"sample" : [
{
"quantity" : “1”,
}
]
}
我需要一个发一个。我使用下面的代码,但只有一次我得到正确的回应。
NSOperationQueue *mainQueue = [[NSOperationQueue alloc] init];
for(int i=0 ; i < [tempJsonFromDB count]; i++)
{
tempjsondata = [tempjsondata stringByAppendingString:tempJsonFromDB[i]];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:url]];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[tempjsondata dataUsingEncoding:NSUTF8StringEncoding]];
[mainQueue setMaxConcurrentOperationCount:5];
[NSURLConnection sendAsynchronousRequest:request queue:mainQueue completionHandler:^(NSURLResponse *response,
NSData *urlData, NSError *requestError)
{
NSString* newStr1 = [NSString stringWithUTF8String:[urlData bytes]];
NSLog(@“string%@“,newStr1);
}];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[connection start];
}
答
视图提示:
- 最多为10
该方法可以只用小数量的请求被排入队列所有一次工作,说
-
为了避免潜在的并发问题,请将
[mainQueue setMaxConcurrentOperationCount
设置为1
。注意:您的示例中目前没有问题,但您的生产代码可能必须访问某个共享变量 - 您可能会在其中获得数据竞赛。确保您使用专用串行队列,其中将执行对该共享变量的所有访问。 (您也可以派遣到主队列或专用调度队列)。请注意,该设置不会改变并发活动HTTP请求的数量。这仅适用于代表。
打印出委托中的所有错误消息,以及响应的状态码和Content-type标头。
当您从服务器打印出返回的内容时,请考虑这可能是使用任意编码的HTML代码。当服务器以2xx以外的状态返回时,通常会出现这种情况 - 即使您明确指定了
Accept
标头。虽然这是服务器端的错误,但您必须处理它。可悲的是,这是一种很常见的服务器行为。您可以使用
NSURLSession
来改进代码。如果你有大量的请求,你应该改进你的代码利用第三方库,它能够处理大量的并发请求。
请问您能否描述请求的其余部分会发生什么,在completionHandler中是否出现错误,如果是,错误是什么? –
这是你的阵列tempJsonFromDB –
@Abd Al-rhman Taher Badary第一次我得到“真实”但我得到一些网页内容后。 – VJVJ