网络篇 - 04.网络数据解析(JSON)

1.网络数据解析概述

  • 由于服务器端返回给我们的数据格式有多种,我们需要将数据转换为我们需要的格式,这里就需要用到数据解析
  • 服务器传输给我们的数据主要有三种:
    • JSON
    • XML
    • 二进制数据(图片、视频之类的信息)

2.JSON数据概述

  • JSON数据是民间版的数据格式,是目前最主流的数据格式,另一种是官方版的数据个数XML
  • JSON是一种轻量级的数据格式,一般用于数据交互
  • JSON的格式很像OC中的字典和数组
{"name" : "jack", "age" : 10}
{"names" : ["jack", "rose", "jim"]}
  • 标准JSON格式的注意点:key必须用双引号
  • 要想从JSON中挖掘出具体数据,得对JSON进行解析
  • 我们解析JSON数据就是将其转换为 OC数据类型
  • JSON和OC对象转换后对应数据类型
    • {} -> NSDictionary @{}
    • [] -> NSArray @[]
    • “jack” -> NSString @”jack”
    • 10 -> NSNumber @10
    • 10.5 -> NSNumber @10.5
    • true -> NSNumber @1
    • false -> NSNumber @0
    • null -> NSNull

3.JSON解析方案

  • 在iOS中,JSON的常见解析方案有4种
  • 在iOS中,JSON的常见解析方案有4种
    • 第三方框架:JSONKit、SBJson、TouchJSON(性能从左到右,越差)
    • 苹果原生(自带):NSJSONSerialization(性能最好)
  • 由于苹果自带的JSON解析性能最好,所以我们主要使用的也是苹果原生的解析器

4.JSON解析示例

  • 本地数据解析
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    NSString *json = @"[\"jack\",\"tom\"]";
    NSString *json1 = @"null";
    // 将字符串转换为二进制数据
    NSData *data = [json1 dataUsingEncoding:NSUTF8StringEncoding];
    // 解析JSON数据
    /* 参数解释:
     第一个参数:传入要解析的数据
     第二个参数:解析模式
     NSJSONReadingMutableContainers = 转换出来的对象是可变数组或者可变字典
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值