网络笔记02数据解析 -1-JSON解析
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/JSONKit
2.导入框架文件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];
性能测试:

网络笔记02数据解析 -1-JSON解析的更多相关文章
- ios的网络数据下载和json解析
ios的网络数据下载和json解析 简介 在本文中,笔者将要给大家介绍如何使用nsurlconnection 从网上下载数据,以及解析json数据格式,以及如何显示数据和图片的异步下载显示. 涉及的知 ...
- ios 网络数据下载和JSON解析
ios 网络数据下载和JSON解析 简介 在本文中笔者将要给大家介绍ios中如何利用NSURLConnection从网络上下载数据,如何解析下载下来的JSON数据格式,以及如何显示数据和图片的异步下载 ...
- iOS之网络数据下载和JSON解析
iOS之网络数据下载和JSON解析 简介 在本文中笔者将要给大家介绍IOS中如何利用NSURLconnection从网络上下载数据以及如何解析下载下来的JSON数据格式,以及如何显示数据和托图片的异步 ...
- Json--Android中数据文件解析(Json解析--从服务器端获取数据并且解析,显示在客户端上面)
前面学习过了使用SAX解析XML数据(点击进入:SAX解析XML数据),今天学习Json解析: 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Json数据 ...
- 接口测试02 - 无法绕过的json解析
概述: 先瞧一下什么是json.JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式. 它基于ECMAScript(w3c定制的js规范)的一个子集 ...
- UI学习笔记---第十六天XML JSON解析
一.解析的基本概念 从事先规定好的格式中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据,数据方按照格式获取数据 常见解析方式XML解析JSON解析 二.XML:可扩展标记语言 XML ...
- 【golang】json数据解析 - 嵌套json解析
@ 目录 1. 通过结构体映射解析 2. 嵌套json解析-map 1. 通过结构体映射解析 原数据结构 解析 // 结构体 type contractJson struct { Data []tra ...
- 【JSON解析】JSON解析
前三篇博客分别介绍了xml的三种解析方法,分别是SAX,DOM,PULL解析XML,兴趣的朋友可以去看一下这[XML解析(一)]SAX解析XML,[XML解析(二)]DOM解析XML,[XML解析(三 ...
- GeoJson的生成与解析,JSON解析,Java读写geojson,geotools读取shp文件,Geotools中Geometry对象与GeoJson的相互转换
GeoJson的生成与解析 一.wkt格式的geometry转成json格式 二.json格式转wkt格式 三.json格式的数据进行解析 四.Java读写geojson 五.geotools读取sh ...
随机推荐
- WP8_区分滑动和点击(在图片列表中)
在windows phone中,对于一个页面中 有图片列表的,滑动的时候,很容易被误认为是点击了图片,而打开图片详细信息等,原意是滑动列表,由此对图片添加2个事件,来控制其点击行为(滑动的时候,基本不 ...
- Unieap3.5-需要用到window.setTimeout的地方
1.js大数据量操作且需要显示进度条 unieap.showLoading(true);//进度条 window.setTimeout(function(){ checkUtils.setAllRow ...
- 商业模拟游戏:<柠檬汁杰克>ios游戏源码
首先柠檬汁杰克是我个人的首个cocos2d-x开发的游戏,本人虽然混迹编程十几年从未开发过游戏,这是首例. 我选这个游戏因为逻辑比较简单,也是一款苹果上的经典游戏.开发中我用到了CocoStudio, ...
- java Literals
Primitive Data Types The Java programming language is statically-typed, which means that all variabl ...
- ASPX页面包含inc文件、用户控件、普通html文件
如果你是从asp程序员转过来一定不习惯.net的编程风格吧,代码和页面时分离的,asp和php里面时常是引入, 比如<!--#include File="xxxxxxx"-- ...
- Web调用ExE
把这个文件导入注册表,那么我们在浏览器中输入PrintLabel://1022,那么就会自动调用C:\\Program Files\\xxx有限公司\\Sellercube Label Maker\\ ...
- C# .Net三层架构[转]
C# .Net三层架构[转] 编写人:CC阿爸 2014-3-14 希望朋友们留下自己对三层架构的理解... 三层体系结构的概念 用户界面表示层(USL) 业务逻辑层(BLL) 数据访问层(D ...
- IntelliJ IDEA 13破解(JRebel 5.6.3a破解)
首先安装IntelliJ 13,记得要下载Ultimate Edition版本,不然就不需要破解了.. 安装到本地,然后进行一些配置(这一步可以不要,但是考虑到以后换系统可以省事,推荐做) 打开{in ...
- 7-ZIP实现数据高度压缩
From:http://www.cnblogs.com/killerlegend/p/3746395.html Author:KillerLegend Date:2013.5.22 选中文件,鼠标右键 ...
- Castle 集锦
Castle Windsor http://www.cnblogs.com/RicCC/archive/2010/03/30/castle-windsor-ioc-di.html 官方配置说明(反正我 ...