JSON之解析

JSON之解析

JSON之解析通过TouchJSON\SBJSON\JSONKit\NSJSONSerialization

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写,同时也易于机器解析和生成。格式:{ “firstName”: “a”,”secondName”:”b” }

 

NSJSONSerialization是iOS5开始自带的JSON解析API,且效率较高,解析的速度快

TouchJSON\SBJSON\JSONKit是第三方库

下载链接:

TouchJSON:https://github.com/TouchCode/TouchJSON

SBJSON:https://github.com/stig/json-framework

JSONKit:https://github.com/johnezang/JSONKit

在解析的效率上NSJSONSerialization>JSONKit>TouchJSON>SBJSON

以下是解析http://m.weather.com.cn/data/101010100.html,获得天气的不同方法

JSON内容是{“weatherinfo”:{
“city”:”北京”,”city_en”:”beijing”,”date_y”:”2013年3月9日”,,,,,,,,}}多层嵌套

一.NSJSONSerialization

解析方法:

NSDictionary *weatherDic=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error];

案列:

 

JSON之解析

 

二.JSONKit

解析方法:

 

#import “JSONKit.h”

1.

JSONDecoder *decoder=[[JSONDecoder alloc]init];

NSDictionary *weatherDic=[decoder objectWithData:data];

2.

NSDictionary *weatherDic=[data objectFromJSONData];

案列:

JSON之解析

 

三.TouchJSON

解析方法:

 

#import “CJSONDeserializer.h”

NSDictionary *weatherDic=[[CJSONDeserializer deserializer]deserialize:data error:&error];

案列:

JSON之解析 

 

TouchJSON可以把对象转化为JSON:

 

#import “CJSONSerializer.h”

NSData *jsonData = [[CJSONSerializer serializer] serializeObject:dictionary  error:&error];

四.SBJSON

解析方法:

#import “SBJson.h”

SBJsonParser *parser=[[SBJsonParser alloc]init];

NSDictionary *weatherDic=[parser objectWithData:data];

案列:

JSON之解析

 

转自http://my.oschina.net/LouWk/blog/112701

 

转载于:https://www.cnblogs.com/jiangshiyong/p/3173624.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110084.html原文链接:https://javaforall.net

(0)
上一篇 2021年8月24日 下午8:00
下一篇 2021年8月24日 下午8:00


相关推荐

  • 《JavaScript 模式》读书笔记(5)— 对象创建模式2

    这一篇,我们主要来学习一下私有属性和方法以及模块模式。三、私有属性和方法JavaScript并没有特殊的语法来表示私有、保护、或公共属性和方法,在这一点上与Java或其他语言是不同的。JavaSc

    2022年3月25日
    40
  • IUnKNown接口——QueryInterface函数

    IUnKNown接口——QueryInterface函数COM笔记-QueryInterface函数fangyukuan2010.6.1客户同组件的交互都是通过一个接口完成的。在客户查询组件的其他接口时,也是通过接口完成的。这个接口就是IUnknown。它在UNKNWN.H头文件定义:如下       Interface IUnknown       {            virtual HRESULT _

    2022年6月29日
    34
  • 数据库连接池技术 之 Druid[通俗易懂]

    数据库连接池技术 之 Druid[通俗易懂]数据库连接池技术之Druiddruid不仅仅为数据源,还能sql拦截等功能。下面示例中用到的Dept类,请参考:Dept源代码JDBC版本第一步:创建一个MavenWeb项目,添加依赖<dependency><groupId>mysql</groupId><artifactId>mysql-connector-……

    2022年7月23日
    14
  • 图的遍历方法

    图的遍历方法从图中某一顶点出发访遍图中其余顶点 且使每一个顶点仅被访问一次 这一过程就叫做图的遍历 TraversingGr 访问过的顶点打上标记 避免访问多次而不自知 可以通过设置一个访问数组 visited n n 是图中顶点个数 初值为 0 访问之后设置为 1 图遍历要避免因回路陷入死循环 通常有两种遍历次序方案 深度优先遍历广度优先遍历深度优先遍历深度优先遍历 Depth First Search 也有称为深度优先搜索 简称 DFS 如上图 如何从顶点 A 开始走遍所有的图顶点并作上标记 从顶点

    2026年3月18日
    1
  • 使用 openssl 生成证书(含openssl详解)「建议收藏」

    使用 openssl 生成证书(含openssl详解)「建议收藏」原文一、openssl简介openssl是目前最流行的SSL密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS协议的实现。官网:https://www.openssl.org/source/构成部分密码算法库密钥和证书封装管理功能SSL通信API接口用途建立RSA、DH、DSAkey参数建立X.5

    2026年1月26日
    3
  • ES5/6新特性

    ES5/6新特性文章目录一 ES5 1 数组尾逗号 2 严格模式 二 ES6 1 模板字符串 2 块级作用域 3 箭头函数 4 解构赋值 5 对象字面量改进 6 SpreadOperat Promise8 函数默认参数 9 模块的 Import 和 Export10 内置对象新增 API 11 新增 Map 集合 12 新增 Set 集合 13 Symbol 符号一 ES5 1 数组尾逗号 length 1 2 3 length 支持 ES5 的则 length 为 3 不支持 ES5 的 length 为 4 p

    2026年3月26日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号