iOS原生JSON解析.
- (IBAction)accessInterfaceBtnPressed:(id)sender {
NSError *error;
NSString *URL=@"https://api.thinkpage.cn/v3/life/suggestion.json?key=aacuhmmvipa30v3f&location=shanghai&language=zh-Hans";
//加载一个NSURL对象
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:URL]];
//将请求的url数据放到NSData对象中
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
//IOS5自带解析类NSJSONSerialization从response中解析出数据放到字典中
NSDictionary *weatherDic = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];
// NSLog(@"All: %@", weatherDic );
NSDictionary *weatherInfo = [weatherDic objectForKey:@"results"];
NSArray * resultArray=[weatherDic objectForKey:@"results"];
// NSLog(@"dictionary length is: %d",[weatherInfo count]);
// NSLog(@"weatherInfo: %@", weatherInfo );
// NSString *updateTime=[weatherInfo objectForKey:@"last_update"];
NSLog(@"updateTime: %@", [weatherInfo valueForKey:@"last_update"] );
//[resultArray valueForKey:@"location"]valueForKey:@"name" ]
NSArray *name=[[resultArray valueForKey:@"location"]valueForKey:@"name"];
NSString *shanghai=name[0];
//NSString *stringData = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
// NSString *resultStr=[[NSString alloc]initWithUTF8String:@"aaa"];
NSLog(@"shanghai: %@", shanghai);
NSDictionary *locationInfo = [weatherInfo valueForKey:@"location"];
//NSLog(@"last_update: %@", [weatherInfo objectForKey:@"last_update"] );
// NSMutableString *name=[locationInfo valueForKey:@"name"];
// NSLog(@"name: %@", name);
// NSString*jsonString = [[NSString alloc]initWithBytes:[data bytes] length:[data length] encoding:NSUTF8StringEncoding] ;
// NSData *data=[locationInfo valueForKey:@"name"];
[self textView].text = shanghai;
}
参考:
https://temboo.com/ios/parsing-json
How it appears in the JSON string | |
---|---|
NSArray | "name": [ |
NSObject | "name": { |
另外, 原来()是特么一个数组的意思...搞得我各种找编码的方法...嫩娘...怪我罗....