网络笔记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 ...
随机推荐
- thinkphpcmf框架中的短信验证!
// 最新短信验证码 function MobileVerify(){ $mobile = I('post.mobile'); $verify = rand(123456, 999999);//获取随 ...
- ORA-12518 TNS:监听程序无法分发客户机连接 解决办法
查询的脚本: select count(*) from v$process; --取得数据库目前的进程数. select value from v$parameter where name = 'pr ...
- Linux 之dhcp服务搭建
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议 dhcp服务器端监控端口67 涉及的配置文件:/etc/dhcp/dhcpd ...
- hdu2078
刚开始看这题,感觉是DP什么的 ,后来我发现,只要找到中最小值,就可以啦,哈哈.假如用x1把0-100分割. 则0-x1-100 ===> x1^2+(100-x1)^2 跟0-100 ...
- Linux下Mysql主从复制(Master-Slave)与读写分离(Amoeba)实践
一.为什么要做Mysql的主从复制(读写分离)?通俗来讲,如果对数据库的读和写都在同一个数据库服务器中操作,业务系统性能会降低.为了提升业务系统性能,优化用户体验,可以通过做主从复制(读写分离)来减轻 ...
- Windows 2003 FastCgi安装环境
Windows 2003 IIS+PHP5.4.3 安装教程 一.准备相关组件 安装前,先安装IIS. 1.安装FastCgi for IIS6 Fastcgi官方网址是:http://www.iis ...
- Mongodb添加地理位置索引
1.同步站点信息到mongo中(支持mysql.sqlserver数据同步) 2.在Collections文件夹下所在文档右键,在菜单中选择Add Index, 3.然后进行数据查询{ "m ...
- nginx学习笔记1
Nginx是使用c语言编写的,查看nginx编译时参数的设定 使用nginx -V命令查看 可以使用nginx -h命令查看命令帮助 配置文件中将worker process绑定到cpu的特定内核上 ...
- Php中正则小结(一)
一.概念 语法模式类似perl.表达式必须用分隔符闭合,比如一个正斜杠(/). 分隔符可以是任意非字母非数字,除反斜杠(\)和空字节之外的非空白ascii字符 如果分隔符 在表达式中使用,需要使用反斜 ...
- devexpress 控制面板汉化方式 参考信息
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...