我想从以下网址获取指定数据html_instructions
。我可以从此URL获取所有数据。
但我只需要具体的html_instructions
。我该如何拆分数据?
我使用以下代码将URL转换为NSData:
NSString *url = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/directions/json?origin=Chennai&destination=Madurai&sensor=false"];
NSURL *googleRequestURL=[NSURL URLWithString:url];
dispatch_async(kBgQueue, ^{
NSData* data = [NSData dataWithContentsOfURL: googleRequestURL];
});
答案 0 :(得分:2)
将此用作:
NSData* data = [NSData dataWithContentsOfURL:googleRequestURL];
if (data == nil) {
return;
}
NSError* error;
NSMutableDictionary* json = [NSJSONSerialization
JSONObjectWithData:data
options:kNilOptions
error:&error];
NSLog(@"Json : %@",json);
希望它对你有所帮助。
答案 1 :(得分:1)
我从以下url解析了json并打印了html指令尝试复制此代码并尝试: http://maps.googleapis.com/maps/api/directions/json?origin=Toronto&destination=Montreal&sensor=false
NSData *receivedData = Received data from url;
NSError* error;
NSMutableDictionary* parsedJson = [NSJSONSerialization JSONObjectWithData:receiveData options:kNilOptions error:&error];
NSArray *allkeys = [parsedJson allKeys];
for(int i = 0; i < allkeys.count; i++){
NSLog(@"############################");
if([[allkeys objectAtIndex:i] isEqualToString:@"routes"]){
NSArray *arr = [responseJsonValue objectForKey:@"routes"];
NSDictionary *dic = [arr objectAtIndex:0];
NSLog(@"ALL KEYS FROM ROUTE: %@", [dic allKeys]);
NSArray *legs = [dic objectForKey:@"legs"];
NSLog(@"legs array count %d", legs.count);
for(int i = 0; i < legs.count; i++){
NSArray *stepsArr = [[legs objectAtIndex:i] objectForKey:@"steps"];
for (int i = 0; i < stepsArr.count; i++) {
NSLog(@"HTML INSTRUCTION %@", [[stepsArr objectAtIndex:i] objectForKey:@"html_instructions"]);
}
}
}
NSLog(@"############################");
}