概述
JSON是什麼?
JavaScript Object Notation:一種輕量級的數據交換格式。
JSON語法規則
- JSON語法是JS對象表示語法的子集
- 數據在鍵值對中
- 數據由逗號分隔
- 花括號保存對象(OC中爲字典)
- 方括號保存數組
JSON數據解析
- JSON數據定義
- JSON數據的解析方法
- JOSN數據解析實戰
示例
解析一個本地的json文件
目錄結構
示例代碼
ViewController.m
#import "ViewController.h"
#import "User.h"
@interface ViewController ()
@end
@implementation ViewController
//數據字典
static NSDictionary* dic;
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
//獲取json文件在手機中路徑
//mainBundle :獲取主資源包
//pathForResource:獲取json文件的全路徑
//p1:文件名
//p2:文件擴展名
NSString* path = [[NSBundle mainBundle] pathForResource:@"gong" ofType:@"json"];
NSLog(@"path=%@",path);
//將文件讀取出來,作爲二進制文件存儲到內存中
//p:文件路徑
//return:二進制文件格式
NSDate* dataJson = [NSData dataWithContentsOfFile:path];
//NSJSONSerialization:數據解析工具類
//p1:二進制數據對象
//p2:解析方式,默認解析方式解析
//p3:錯誤信息對象,可以傳nil
//return:將解析後的數據保存在字典中返回
dic = [NSJSONSerialization JSONObjectWithData:dataJson options:NSJSONReadingMutableContainers error:nil];
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
//打印出字典數據
NSLog(@"dic=%@",dic);
}
@end