网络笔记02数据解析 -1-JSON解析
2015-09-19 11:24
471 查看
1.JSON解析
1.JSON介绍
JSON是最网络传输数据最为广泛的数据格式,没有之一,出身草根,是Javascript的子集,专门负责描述数据格式。Javascript是网页开发的一种脚本语言,和Java没有任何关系。2.语法规则
JSON数据以key/value 值对表示,每个数据由逗号分割,花括号保存对象,方括号保存数组3.JSON值
数字(整数或浮点数),字符串(在双引号中),逻辑值(true 或false),数组(在方括号中),对象(在花括号中),null;4.序列化&反序列化
序列化:在向服务器发送数据之前,将NSArray/NSDictionary 转换成二进制的过程反序列化:在从服务器接受到数据之后,将二进制数据转化NSArray/NSDictionary的过程
5.JSON反序列化
天气预报接口NSURL *url = [NSURL URLWithString:@"
http://www.weather.com.cn/adat/sk/101010100.html"];
id result = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL ];
6.NSJSONSerialization
专门负责在 JSON 和 Foundation 对象直接转换的类可以转换 JSON 和 Fondation 对象需要具备以下条件
顶级借点是NSArray 或者NSDictionary
所有的对象是 NSString , NSNumber , NSDictionary 或者 NSNull
所有字典的 key 都是 NSString
NSNumber 不是空或者无穷大;
JSON解析的第三方框架
1.常见的第三方框架
JSONKit(号称最快) (MRC)在2012年已经停止更新,使用古iOS5.0之前开发的版本SBJson
TouchJSON
以上三个框架性能依次降低
步骤:
1.下载框架 https://github.com/johnezang/JSONKit2.导入框架文件JASONKit.h 和 JASONKit.m
3.设置MRC标记
选择"项目" - "Build Phases" - "Compile Sources" 找到JSONKit.m 在Compiler Flags中添加 -fno -object -arc //告诉编译器这个类中不使用ARC
利用自动修复,修改文件中两处错误
4.反序列化方法
id resuld = [[JSONDecoder decoder] objectWithData:data];
性能测试:
相关文章推荐
- 《TCP/IP详解卷1:协议》——第6章 ICMP:Internet控制报文协议(转载)
- HTTP和socket的区别
- Linux下用netstat命令查看网络负载状况
- 技术人生:故事之十 网络是什么?
- nefu494深海机器人问题【网络流24题】最大费用流
- httpclient简单学习(一)
- 配置NAT网络
- Java知识整理(十)之SE.TCP通信(Server和Client源代码)
- TCP/IP的三次握手,四次分手。
- Twitter 全面脱离 http,连短链接也不放过
- HttpClient使用详解
- iOS http网络请求相关知识总结
- 一个简单的TCP套接字编程实例
- 校园网络 120 (数组模拟+技巧)
- 计算机网络之IP协议族
- 计算机网络之IP地址
- 计算机网络之IP地址
- 计算机网络之IP协议族
- BT、电骡、迅雷等P2P下载原理
- Androdi网络连接——WebView、Volley、xutils