我正在尝试用大量参数解析JSON URL
以获得大量响应。下面我提到了URL
,其中包含多个参数(like:- School = A, B, C, etc).
,每个参数都会获得大量数据。现在问题是我的反应太慢了。它需要2分钟。请提供一些快速获取大量数据的建议。
我的示例网址:
http://example.com/school/schooldetailsget?time_from=2015-07-10&time_to=2015-08-10&school=A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,WX,Y,Z,&school_no=1
我的代码:
// JSON data process
NSString *Values = [NSString stringWithFormat:@"URL %@",parameters];
NSURL *url = [[NSURL alloc] initWithString:Values];
NSData *service_data=[NSData dataWithContentsOfURL:url];
if (service_data) {
NSError *error;
jsonDictionary = [NSJSONSerialization JSONObjectWithData:service_data options:kNilOptions error:&error];
NSArray *responsData = [jsonDictionary objectForKey:@"response"];
NSLog(@"RESPONSE DATA %@",responsData); // here I am getting long time
}
答案 0 :(得分:3)
因此,您需要使用一个名为分页的概念。即。获取部分中的巨大结果并将其显示给用户。这将需要Web服务端的支持。
现在,您决定在部分中获取结果,因此在您的网址中,有一个页面参数,并根据页面追加1,2,3。每个页面都让服务器返回少量数据,比如10个结果。
此外,如果您想自定义,您甚至可以将页面大小与请求一起传递。说page = 1; pagesize = 6。服务器应该通过结果。
考虑您有100条记录的数据。您决定将pagesize设置为10,然后您需要部分发出10个请求以获取完整数据。这将减少下载时间并改善用户体验。
答案 1 :(得分:0)
看看AFnetworking;这是第三方图书馆很棒: https://github.com/AFNetworking/AFNetworking
答案 2 :(得分:0)
如果您使用的API不支持分页,并且您需要尽快显示数据,那么只需获取所有这些数据并将其本地存储在应用程序(文件或数据库)中,这样您就可以避免等待网络响应。
如果您需要将此数据设为实际数据,则只需在后台请求并使用新更改更新本地数据。