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. 父窗口调用iframe子窗口方法

    一.父窗口调用iframe子窗口方法 1.HTML语法:<iframe name="myFrame" src="child.html"></i ...

  2. setjmp 与 longjmp

    setjmp和longjmp是C语言独有的,只有将它们结合起来使用,才能达到程序控制流有效转移的目的,按照程序员的预先设计的意图,去实现对程序中可能出现的异常进行集中处理. 先来看一下这两个函数的定义 ...

  3. IEF could not decode Chinese character in IE history well

    My friend is working on some case, and she looks not in the mood. I ask her what's going on. She wan ...

  4. Unieap3.5Java端通过SQL语句直接查询DataStore

    通过sql查询dataStore 例子见 /mcss/src/com/neusoft/mcss/base/todo/dao/WorkTodoDaoImpl.java getWorksTodo() ID ...

  5. Android代码写View

    1.Java Code package com.fish.helloworld; import android.app.Activity; import android.content.Context ...

  6. XML处理

    //生成XML XmlDocument xmlDoc = new XmlDocument(); XmlElement root = xmlDoc.CreateElement("Data&qu ...

  7. Solaris引导和关闭

    OpenBoot PROM简称OBP,相当于PC的BIOS,是控制SUN服务器的引导过程.初始化配置某些硬件并提供某些诊断的工具.常见OBP命令 boot boot:从默认设备启动boot -s:从默 ...

  8. javaSE第二十一天

    第二十一天    276 1:字符流(掌握)    276 (1)字节流操作中文数据不是特别的方便,所以就出现了转换流.    276 (2)转换流其实是一个字符流    276 1:InputStr ...

  9. javaSE第八天

    第八天    43 1. 如何制作帮助文档(了解)    43 2. 通过JDK提供的API学习了Math类(掌握)    44 (1)API(Application Programming Inte ...

  10. BochsDebug

    Bochs User Manual   Chapter 8. Tips and Techniques   8.12. Using Bochs internal debugger Note, if yo ...