iOS入门-33Json解析01

概述

JSON是什么?

JavaScript Object Notation:一种轻量级的数据交换格式。

JSON语法规则

  • JSON语法是JS对象表示语法的子集
  • 数据在键值对中
  • 数据由逗号分隔
  • 花括号保存对象(OC中为字典)
  • 方括号保存数组

JSON数据解析

  • JSON数据定义
  • JSON数据的解析方法
  • JOSN数据解析实战

示例

解析一个本地的json文件

目录结构

iOS入门-33Json解析01_第1张图片

示例代码

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 *)touches withEvent:(UIEvent *)event{
    //打印出字典数据
    NSLog(@"dic=%@",dic);
}

@end

你可能感兴趣的:(iOS)