A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小小小笑 初级黑马   /  2015-4-18 18:24  /  1130 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

JSON
1、序列化(流):将字典或者数组发送给服务器之前,转化成二进制数据,方便网络传输
2、反序列化  :把从服务器接收到的二进制数据转换成NSDictionary 、 NSArray,简化程序开发,便于后续的字典转模型

JSON解析工具
0、苹果原生提供的反序列化方法:必须是iOS5.0以上版本
1、JSONKit:iOS5.0以下
(1)MRC的
(2)基本使用 + 性能测试
【亲测结果】— 比苹果原生的慢,性能较差


2、SBJson


3、TouchJSON

XML --可扩展标记语言
1、与HTML区别:HTML标记格式是固定的,但是XML是不固定的,可以复杂嵌套
2、两个解析方式:
(1)DOM解析

(2)SAX解析:
—》打开文档
—》开始节点:<videos>
                              <name>...
—》发现节点内容:xxx,一个内容可能会被解析多次
—》结束节点:    </name>
                           </videos>   最后一个结束节点
—》结束文档
以上步骤中,2、3、4会重复执行,直到整个XML解析完成


其他注意点:
1、以后看到**类型的参数,又不想获取对应的内容,传入NULL就可以,传入nil也不会报错。
2、可以通过百度查到国家气象局的气象免费接口。
3、为什么要使用NSNumber?不用int
(1)反之服务器返回NULL,使用int设置会崩溃。
4、【亲测】可以使用id,作为属性
5、解决数组,字典不能输出中文的问题,使用NSArray的分类
#import "NSArray+Log.h"
@implementation NSArray (Log)
// 重写这个方法,就能够解决输出问题
// 专门为了本地话提供的一个调试方法,只要重写,不需要导入头文件,程序中所有的 NSLog 数组的方法,都会被替代
- (NSString *)descriptionWithLocale:(id)locale {
    NSMutableString *strM = [NSMutableString stringWithString:@"(\n"];
   
    // 遍历数组,拼接字符串
    [self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        [strM appendFormat:@"\t%@,\n", obj];
    }];
   
    [strM appendString:@")\n"];
   
    return [strM copy];

}
@end



评分

参与人数 2黑马币 +52 收起 理由
余攀 + 32 很给力! 整理得不错!
邹志鹏 + 20 山寨

查看全部评分

3 个回复

倒序浏览
怎么看着很像哥的笔记呢!
回复 使用道具 举报
我是小菜蛋 来自手机 中级黑马 2015-4-19 17:16:24
藤椅
哇塞,好厉害
回复 使用道具 举报
邹志鹏 发表于 2015-4-19 17:11
怎么看着很像哥的笔记呢!

哥哥,你是谁呀?我作为一个大V怎么会随便写笔记呢??
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马