我需要解析响应头信息并处理状态代码。我现在得到了html响应字符串,我需要解析如何在iPhone中做什么?
答案 0 :(得分:0)
在文档中查找以下内容:
NSString componentsSeparatedByString:
NSString componentsSeparatedByCharactersInSet:
NSScanner
class 答案 1 :(得分:0)
如果您使用NSURLConnection
进行HTTP调用,您可以从NSURLConnectionDelegate
方法获取HTTP响应代码和标题,如下所示:
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response;
NSInteger statusCode = [httpResponse statusCode];
NSDictionary* headers = [httpResponse allHeaderFields];
}
答案 2 :(得分:0)
NSMutableDictionary *n=[[NSMutableDictionary alloc]init];
NSString *str=@"asd";
NSString *s=[[[[str componentsSeparatedByString:@"<"] objectAtIndex:1] componentsSeparatedByString:@">"]objectAtIndex:0];
NSArray *a = [s componentsSeparatedByString:@"|"];
[n setObject:[a objectAtIndex:0] forKey:@"status"];
if([a count]>1)
{
[n setObject:[a objectAtIndex:1] forKey:@"session"];
NSArray *b = [[a objectAtIndex:2] componentsSeparatedByString:@"&"];
for(int i=0;i<[b count];i++)
{
NSArray *arr = [[b objectAtIndex:i ] componentsSeparatedByCharactersInSet:[ NSCharacterSet characterSetWithCharactersInString:@",="]];
NSMutableIndexSet *eset=[[NSMutableIndexSet alloc]init];
NSMutableIndexSet *oset=[[NSMutableIndexSet alloc]init];
for(int j=0;j<[arr count];j=j+2)
{
[eset addIndex:j];
[oset addIndex:j+1];
}
NSArray *names = [arr objectsAtIndexes: eset];
NSArray *values = [arr objectsAtIndexes: oset];
NSDictionary * dict = [NSDictionary dictionaryWithObjects:values forKeys:names];
[n setObject:dict forKey:[dict objectForKey:@"DisplayName"]];
}
NSLog(@"%@",n);
}
答案 3 :(得分:0)
将以下响应保存为sample.json文件
{
"Category": [
{
"name": "Mobile"
},
{
"name": "TV"
},
{
"name": "Computer"
},
{
"name": "Camera"
},
{
"name": "Home Appilances"
}
]
}
NSError *error = nil;
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"json"];
NSData *myData = [NSData dataWithContentsOfFile:filePath];
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:myData options:kNilOptions error:&error];
NSArray *catArray = [dict objectForKey:@"Category"];
for (int index = 0; index < catArray.count; index++) {
NSDictionary *valDic = [catArray objectAtIndex:index];
NSLog(@"%@", [valDic objectForKey:@"name"]);
}