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解析的更多相关文章

  1. ios的网络数据下载和json解析

    ios的网络数据下载和json解析 简介 在本文中,笔者将要给大家介绍如何使用nsurlconnection 从网上下载数据,以及解析json数据格式,以及如何显示数据和图片的异步下载显示. 涉及的知 ...

  2. ios 网络数据下载和JSON解析

    ios 网络数据下载和JSON解析 简介 在本文中笔者将要给大家介绍ios中如何利用NSURLConnection从网络上下载数据,如何解析下载下来的JSON数据格式,以及如何显示数据和图片的异步下载 ...

  3. iOS之网络数据下载和JSON解析

    iOS之网络数据下载和JSON解析 简介 在本文中笔者将要给大家介绍IOS中如何利用NSURLconnection从网络上下载数据以及如何解析下载下来的JSON数据格式,以及如何显示数据和托图片的异步 ...

  4. Json--Android中数据文件解析(Json解析--从服务器端获取数据并且解析,显示在客户端上面)

    前面学习过了使用SAX解析XML数据(点击进入:SAX解析XML数据),今天学习Json解析: 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Json数据 ...

  5. 接口测试02 - 无法绕过的json解析

    概述: 先瞧一下什么是json.JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式. 它基于ECMAScript(w3c定制的js规范)的一个子集 ...

  6. UI学习笔记---第十六天XML JSON解析

    一.解析的基本概念 从事先规定好的格式中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据,数据方按照格式获取数据 常见解析方式XML解析JSON解析 二.XML:可扩展标记语言 XML ...

  7. 【golang】json数据解析 - 嵌套json解析

    @ 目录 1. 通过结构体映射解析 2. 嵌套json解析-map 1. 通过结构体映射解析 原数据结构 解析 // 结构体 type contractJson struct { Data []tra ...

  8. 【JSON解析】JSON解析

    前三篇博客分别介绍了xml的三种解析方法,分别是SAX,DOM,PULL解析XML,兴趣的朋友可以去看一下这[XML解析(一)]SAX解析XML,[XML解析(二)]DOM解析XML,[XML解析(三 ...

  9. GeoJson的生成与解析,JSON解析,Java读写geojson,geotools读取shp文件,Geotools中Geometry对象与GeoJson的相互转换

    GeoJson的生成与解析 一.wkt格式的geometry转成json格式 二.json格式转wkt格式 三.json格式的数据进行解析 四.Java读写geojson 五.geotools读取sh ...

随机推荐

  1. OSI(Open System Interconnection)网络模型

    OSI模型是国际互连网标准化组织(International Standards Organizations ISO)所定义的,为了使网络的各个层次有标准.这个模型一般被称为“ISO OSI(Open ...

  2. tomcat目录简介

    http://www.cnblogs.com/kerrycode/p/3588816.html 主目录下面有bin.lib等目录 bin 存放Tomcat启动.停止服务程序以及一些其他脚本程序 lib ...

  3. js 获取当天23点59分59秒 时间戳 (最简单的方法)

    js 获取当天23点59分59秒 时间戳 (最简单的方法) new Date(new Date(new Date().toLocaleDateString()).getTime()+24*60*60* ...

  4. 将Tab栏居中的方法

    原始tab: 居中后的tab(边缘效果是截图的问题): 改变方法如下: 找到Android SlidingTabLayout源代码,在Android SlidingTabLayout源代码中有一个方法 ...

  5. HTML5 的新的表单属性

    本章讲解涉及 <form> 和 <input> 元素的新属性. 新的 form 属性: autocomplete novalidate 新的 input 属性: autocom ...

  6. Hao123这个流氓

    Author:KillerLegend Date:2014.2.27 From:http://www.cnblogs.com/killerlegend/p/3572591.html Hao123真让人 ...

  7. DevExpress控件使用经验总结- GridView列表行号显示操作

    DevExpress是一个比较有名的界面控件套件,提供了一系列的界面控件套件的DotNet界面控件.本文主要介绍我在使用DevExpress控件过程中,遇到或者发现的一些问题解决方案,或者也可以所示一 ...

  8. 将python2.7+django1.10部署到SAE上

    首先我想说的是我为什么选择SAE呢?本人学生一枚,没钱.然后sae好像又有免费的一定限额,所以我就选了它. 期间曲折颇多,实在不是三言两语所能道情的.各种百度,谷歌,最后所幸成功了,幸哉! 主要参考了 ...

  9. LC.exe exited with code -1

    昨天从win8.1升级到win10之后, 一切还算顺利, 就是升级时间比较长. 但是快下班的时候 遇到一个问题, 是之前在win8.1上没遇到的, 首先代码win8.1 vs2013 上跑的时候一切正 ...

  10. Java 逻辑运算符、位运算符、移位操作符 总结(Java 学习中的小记录)

    Java 逻辑运算符.位运算符.移位操作符  总结     作者:王可利(Star·星星) 逻辑运算符,表格如下: 解析逻辑运算符表: 1.与 (&) 特点:两个都为真的时候,结果为真.两个为 ...