• iOS多线程与网络开发之解析json数据


    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

    假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意。重在心意^_^ 

    我要捐赠: 点击捐赠

    Cocos2d-X源代码下载:点我传送

    游戏官方下载:http://dwz.cn/RwTjl

    游戏视频预览:http://dwz.cn/RzHHd

    游戏开发博客:http://dwz.cn/RzJzI

    游戏源代码传送http://dwz.cn/Nret1


    A.iOS中json的基本使用
    1.解析json数据
    (1)json反序列化
    对象
    {}
    格式 {key : value, key : value,...} 的键值对的结构
    能够反序列化为OC中的NSDictionary
    数组
    []
    格式 ["java","javascript","vb",...]
    能够反序列化为OC中的NSArray

    提示
    JSON的数据格式与OC中的高速包装方法很相似
    JSON的数据格式相同支持嵌套
     
    (2)json工具
    从iOS 5開始。使用NSJSONSerialization对JSON解析

    其它常见的三种JSON解析第三方库:
    SBJson 由于API简单易用,可能还会有一些应用中留存
    JSONKit JSONKit的开发人员称:JSONKit的性能优于苹果
    TouchJson
     
    (3)序列化 & 反序列化
    反序列化
    [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];

    序列化
    [NSJSONSerialization dataWithJSONObject:array options:0 error:NULL];
     
    sample:
    复制代码
     1     // 同步发送信息
     2     NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
     3    
     4     // 解析数据
     5     if (data) { // 得到返回数据
     6         // 解除屏幕锁
     7         [MBProgressHUD hideHUD];
     8        
     9         // 解析json数据
    10         NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
    11        
    12         // 处理返回的数据
    13         NSString *result = dict[@"success"];
    14         if (result) {
    15             [MBProgressHUD showSuccess:result];
    16         } else {
    17             result = dict[@"error"];
    18             if (result) {
    19                 [MBProgressHUD showError:result];
    20             }
    21         }
    22     } else {
    23         [MBProgressHUD showError:@"网络繁忙,请稍后再试~"];
    24     }

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

    假设文章对您有所帮助。欢迎给作者捐赠,支持郝萌主,捐赠数额任意。重在心意^_^ 

    我要捐赠: 点击捐赠

    Cocos2d-X源代码下载:点我传送

    游戏官方下载:http://dwz.cn/RwTjl

    游戏视频预览:http://dwz.cn/RzHHd

    游戏开发博客:http://dwz.cn/RzJzI

    游戏源代码传送http://dwz.cn/Nret1

  • 相关阅读:
    单例模式
    grails2.3.11第二课
    grails2.3.11第一课
    【安全】requests和BeautifulSoup小试牛刀
    【解决】国内访问github过慢
    基于Ubuntu14.10的Hadoop+HBase环境搭建
    基于adt-bundle的Android开发环境搭建
    【解决】SAE部署Django1.6+MySQL
    【解决】Django项目废弃SQLite3拥抱MySQL
    【OpenGL】画立方体
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/6936551.html
Copyright © 2020-2023  润新知