iOS·HTTP那点事(2)JSON数据解析

2016-03-13  本文已影响348人  devRen

说明:

Question:什么是JSON

 {"name": "jack","age": 10}
 {"names": ["jack","rose","jim"]}

JSON转换为OC数据类型

要想从JSON中挖掘出具体数据,得对JSON进行解析

JSON OC
大括号{} NSDictionary @{}
中括号[] NSArray @[]
双引号"" NSString @""
数字10、10.8 NSNumber @10、@10.8
true NSNumber @1
false NSNumber @0
null NSNull

返回参数说明

返回参数说明.png

返回示例(Json)

返回示例(Json).png

NSJSONSerialization的常见方法

+(id)JSONObjectWithData:(NSData*)data options:(NSJSONReadingOptions)opterror:(NSError**)error;
+(NSData*)dataWithJSONObject:(id)objoptions:(NSJSONWritingOptions)opterror:(NSError**)error;

Dome代码演示


    // 设置请求路径
    NSURL *url = [NSURL URLWithString:@"http://api.k780.com:88/?app=weather.future&weaid=1&&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json"];
    // 创建请求对象
    NSURLRequest *reuqest = [[NSURLRequest alloc] initWithURL:url];
    
    // 用NSURLConnection发送异步GET请求
    [NSURLConnection sendAsynchronousRequest:reuqest queue:[[NSOperationQueue alloc]init] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) 
     {
       // 解析JSON
       NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil];
       NSLog(@"%@", dict);
     }];

面向模型开发

MJExtension框架
应用场景:

[ 字典1,
 字典2,
 字典3 ]

如果每个字典都是一个模型,可以用

NSArray *modelArray = [模型类名 objectArrayWithKeyValuesArray:字段数组];
上一篇 下一篇

猜你喜欢

热点阅读