概述
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