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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Postman下载与安装操作步骤【超详细】

    Postman下载与安装操作步骤【超详细】工欲善其事必先利其器,一套超详细清晰的下载安装postman教程,让小伙伴们轻轻松松安装好postman,快来试一试吧!!!

  • 树莓派4b串口通信配置

    树莓派4b串口通信配置树莓派4b本身是两个串口,运行ls/dev-al如下:请注意:在默认状态下,serial0(就是GPIO14,15)是映射到ttyS0的(就是MINI串口:/dev/ttyS0),ttyS0的特点是其工作时钟来自于CPU,CPU的时钟呢又是从600MHZ到1.5Ghz动态变化的,所以这个串口经常会因为时钟频率发生变化而发生错误,因此我们不用这个串口。默认状态下,serial1(跟板载蓝牙…

  • oracle删除主键索引的sql语句_oracle主键索引和普通索引

    oracle删除主键索引的sql语句_oracle主键索引和普通索引–根据索引名,查询表索引字段select*fromuser_ind_columnswhereindex_name=’索引名’;–根据表名,查询一张表的索引select*fromuser_indexeswheretable_name=’表名’;–根据索引名,查询属于哪张表select*fromall_indexeswhereindex_name=’IN…

  • 黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?[通俗易懂]

    黑科技!仅需 3 行代码,就能将 Gitter 集成到个人网站中,实现一个 IM 即时通讯聊天室功能?[通俗易懂]欢迎关注个人微信公众号:小哈学Java,文末分享阿里P8高级架构师吐血总结的《Java核心知识整理&面试.pdf》资源链接!!个人网站:"https://www

  • netty拆包_拆包技巧

    netty拆包_拆包技巧面试官:讲一讲Netty粘包拆包

  • verilog流水线设计代码_流水线cpu设计verilog

    verilog流水线设计代码_流水线cpu设计verilog介绍定义:流水线设计就是将组合逻辑分割,并在各级之间插入寄存器,暂存中间数据的方法。以面积换速度。优点:每一部分延时降低——可用更快的时钟;大部分电路同时运算——提高数据吞吐率。缺点:增加面积;流水线并不减小单个数据操作的时间,减小的是整个数据流的操作时间;(不懂)功耗增加,硬件复杂度增加,特别对于复杂逻辑如cpu的流水线而言,流水越深,发生需要hold流水线或reset流水线的情况时,时间损失越大。所以使用流水线并非有利无害,大家需权衡考虑。应用场景:1)组合逻辑太长,

发表回复

您的电子邮箱地址不会被公开。

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