JSON的两种常见解析方式

#import "ViewController.h"

#import "JSONKit.h"

 

@interface ViewController ()

 

@end

 

@implementation ViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

    

    NSString *baseString = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx";

    NSURL *baseUrl = [NSURL URLWithString:baseString];

    //创建可变的requst对象 设置可变的 要是设置参数;

    NSMutableURLRequest *requst = [NSMutableURLRequest requestWithURL:baseUrl];

//    设置Post请求 格式

    [requst setHTTPMethod:@"POST"];

//    设置boby参数

    NSString *babyString = @"date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213";

    NSData *babyData= [babyString dataUsingEncoding:NSUTF8StringEncoding];

    [requst setHTTPBody:babyData];

    

    NSURLSession *session = [NSURLSession sharedSession];

    NSURLSessionTask *task = [session dataTaskWithRequest:requst completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

//        系统自带的解析类

        [self JSONSystem:data];

//        JSON第三方解析

        [self JSONThireWay:data];

        

    }];

//    开始网络请求

    [task resume];

}

 

#pragma mark - JSON系统自带的解析类

 

- (void)JSONSystem:(NSData *)data{

    //        获取JOSN数据

    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

    NSLog(@"系统自带解析类获得数据:%@",dict);

}

#pragma mark - JSON第三方JSONKit解析

// 导入#import "JSONKit.h"后会报错,是因为不支持arc 需要在Build Phases->CompileSorces ->双击JSONKit.m,添加-fno-objc-arc

- (void)JSONThireWay:(NSData *)data{

    NSDictionary *dict = [data objectFromJSONData];

    NSLog(@"第三方解析获得数据:%@",dict);

}

转载于:https://my.oschina.net/iOScoderZhao/blog/701570

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值