解析思路
1.獲取數(shù)據(jù)來源,就是文件的保存路徑 NSString *path。調(diào)用方法:pathForResource
2.讀取文件數(shù)據(jù),把path轉(zhuǎn)換成NSData *data。調(diào)用方法:[NSData dataWtihContentsOffFile:path];
3.解析文件數(shù)據(jù)(獲取key對應(yīng)的value),接收原則:{}使用字典;[]使用數(shù)組。調(diào)用方法:[NSJSONSerialization JSONObjectWithData:]
DOMO
解析文件 ?test.json
{
"FeelsLikeC" : 5,
"temp_c" : "3",
"request" : [ { "query" : "Beijing,China" }? ]
}
ViewController.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//數(shù)據(jù)來源(test.json)
//讀取文件數(shù)據(jù)
NSString *jsonPath = [[NSBundle mainBundle] pathForResource:@"test.json" ofType:nil];
NSData *jsonData = [NSData dataWithContentsOfFile:jsonPath];
//解析(獲取key對應(yīng)的value)
//接收原則:{}使用字典;[]使用數(shù)組
NSError *error = nil;
NSDictionary *jsonDic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
//體感溫度
NSNumber *feelsTemp = jsonDic[@"FeelsLikeC"];
//預(yù)報(bào)天氣的溫度
NSString *temp = jsonDic[@"temp_c"];
//城市名字
NSArray *requestArray = jsonDic[@"request"];
NSDictionary *queryDic = requestArray[0];
NSString *cityStr = queryDic[@"query"];
//驗(yàn)證
NSLog(@"feelsTemp:%@; temp:%@; cityStr:%@", feelsTemp, temp, cityStr);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end