- 浏览: 904329 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (466)
- iPhone, iOS , Objective-c (155)
- 数据库 (20)
- 设计模式 (5)
- 第三方包管理,cocoapod (2)
- 版本管理, SVN, Subversion, Git (1)
- Google, Android, Java (14)
- Wordpress (1)
- 职业素养 (3)
- 版本管理,git (3)
- 前端小技巧 (2)
- flash (1)
- javascript (5)
- Ruby (0)
- 编程语言 (1)
- 网络常识 (1)
- 找到生活好感觉 (5)
- 产品经理 (1)
- markdown (1)
- 云服务器 (1)
- iPhone (116)
- iOS (116)
- Objective-c (116)
- 学习技巧 (2)
- Google (5)
- Android (6)
- Java (21)
- python (1)
- sqlite (3)
- node.js (2)
- mongodb (2)
- 学习技巧,阅读 (2)
- 软件测试 (3)
- 架构设计 (2)
- 设计 (1)
- Spring framework (3)
- junit (1)
- Linux (2)
- 软件 (1)
- Struts2 (1)
- 版本管理 (3)
- SVN (3)
- Subversion (3)
- Git (3)
- mysql (5)
- quartz (1)
- 无关技术 (1)
- 前端 (1)
- Redis (1)
- 产品管理 (0)
- 计算机常识 (1)
- 计算机科学 (0)
- swift (1)
- 服务器 (2)
- 搜索 (1)
- Scala (1)
- J2EE (1)
- maven (1)
- 前端css (1)
- 英语 (1)
- 消息队列 (1)
- kafka (0)
- apache kafka (4)
- netbeans (1)
- IDE (2)
- 歌词 (1)
- 过滤器实现 (1)
- linux vim vi (1)
- jmeter (1)
- springcloud (1)
最新评论
-
hujingnemo:
不知道为什么打不开
CHM如何改编字体大小 -
weiboyuan:
求答案 weiboyuanios@163.com
iOS软件工程师面试题(高级) -
xueji5368:
这个现在已经广泛使用了嘛!
RoboGuice入门 -
Yao__Shun__Yu:
...
CHM如何改编字体大小 -
353144886:
非常之详细 美女求认识
sqlite数据类型 datetime处理
1.ios解析json
使用开源json包,项目地址:
http://stig.github.com/json-framework/
NSData * responseData = [respones responseData];
NSString * strResponser = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
SBJsonParser * parser = [[SBJsonParser alloc]init];
NSMutableDictionary *dicMessageInfo = [parser objectWithString:strResponser]; // 解析成json解析对象
[parser release];
//发送者
NSString * sender = [dicMessageInfo objectForKey:@"sender"];
2.json嵌套对象解析:
//要上传的字符串
NSString *dataStr=[[NSString alloc] initWithString:@"{\"cross\":{\"1\":\"true\",\"2\":\"false\",\"3\":\"true\"}}"];
//获取响应返回字符串
NSData * responseData = [respones responseData];
NSString * strResponser = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
//嵌套解析
SBJsonParser * parser = [[SBJsonParser alloc]init];
NSMutableDictionary *dicMessageInfo = [parser objectWithString:strResponser]; // 解析成json解析对象
NSMutableDictionary * cross = [dicMessageInfo objectForKey:@"cross"];
NSString *cross1= [cross objectForKey:@"1"];
//解析json到各个字符串
//发送者
[parser release];
NSLog(@"cross1: %@",cross1);
3.拼接json字符串
通过使用SBJson中的SBJsonWriter类的方法- (NSString*)stringWithObject:(id)value可以将一个对象中的值格式化为json字符串,符合key/value格式的数据封装到NSDictionary后可以使用该方法进行格式化,其他数据通过拼接字符串的方式格式化。
在拼接过程中可以使用类NSMutableString的方法:
- (void)appendString:(NSString *)aString;、
- (void)appendFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
动态添加字符串。
拼接的字符串可通过json在线验证的方式验证其格式是否正确,网址为:
http://jsonlint.com/
-(NSString *) getJsonString
{
NSMutableString *json = [NSMutableString stringWithCapacity:128];
NSString *jsonString=nil;
SBJsonWriter *writer = [[SBJsonWriter alloc] init];
[json appendString:@"{\"data\":{"];
[json appendFormat:@"\"%@\":\"%d\",",@"reset",reset];
if(missionStatus!=NULL)
{
jsonString=[writer stringWithObject:status];
if(jsonString!=NULL)
{
[json appendString:@"\"status\":"];
[json appendString:jsonString];
}
}
[json appendString:@"}}"];
return json;
}
4.利用多个NSDictionary,拼接多层嵌套的json字符串,减少因手工拼接忘记加引号导致的json格式错误
示例代码:
NSDictionary *dataDictionary= [NSDictionary dictionaryWithObjectsAndKeys:mac,@"mac",
game,@"game",
devicetoken,@"devicetoken",
device,@"device",
gv,@"gv",
lang,@"lang",
os,@"os",
hardware,@"hardware",
down,@"down",nil];
NSDictionary *parmDictionary= [NSDictionary dictionaryWithObjectsAndKeys:@"getSession",@"act",
dataDictionary,@"data",nil];
NSDictionary *jsonDictionary=[NSDictionary dictionaryWithObjectsAndKeys:pv,@"pv",
parmDictionary,@"param",nil];
SBJsonWriter *writer = [[SBJsonWriter alloc] init];
NSString *jsonString=nil;
jsonString=[writer stringWithObject:jsonDictionary];
NSLog(@"%@",jsonString);
5.json字符串在线校验网址:
http://jsonlint.com/
使用开源json包,项目地址:
http://stig.github.com/json-framework/
NSData * responseData = [respones responseData];
NSString * strResponser = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
SBJsonParser * parser = [[SBJsonParser alloc]init];
NSMutableDictionary *dicMessageInfo = [parser objectWithString:strResponser]; // 解析成json解析对象
[parser release];
//发送者
NSString * sender = [dicMessageInfo objectForKey:@"sender"];
2.json嵌套对象解析:
//要上传的字符串
NSString *dataStr=[[NSString alloc] initWithString:@"{\"cross\":{\"1\":\"true\",\"2\":\"false\",\"3\":\"true\"}}"];
//获取响应返回字符串
NSData * responseData = [respones responseData];
NSString * strResponser = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
//嵌套解析
SBJsonParser * parser = [[SBJsonParser alloc]init];
NSMutableDictionary *dicMessageInfo = [parser objectWithString:strResponser]; // 解析成json解析对象
NSMutableDictionary * cross = [dicMessageInfo objectForKey:@"cross"];
NSString *cross1= [cross objectForKey:@"1"];
//解析json到各个字符串
//发送者
[parser release];
NSLog(@"cross1: %@",cross1);
3.拼接json字符串
通过使用SBJson中的SBJsonWriter类的方法- (NSString*)stringWithObject:(id)value可以将一个对象中的值格式化为json字符串,符合key/value格式的数据封装到NSDictionary后可以使用该方法进行格式化,其他数据通过拼接字符串的方式格式化。
在拼接过程中可以使用类NSMutableString的方法:
- (void)appendString:(NSString *)aString;、
- (void)appendFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);
动态添加字符串。
拼接的字符串可通过json在线验证的方式验证其格式是否正确,网址为:
http://jsonlint.com/
-(NSString *) getJsonString
{
NSMutableString *json = [NSMutableString stringWithCapacity:128];
NSString *jsonString=nil;
SBJsonWriter *writer = [[SBJsonWriter alloc] init];
[json appendString:@"{\"data\":{"];
[json appendFormat:@"\"%@\":\"%d\",",@"reset",reset];
if(missionStatus!=NULL)
{
jsonString=[writer stringWithObject:status];
if(jsonString!=NULL)
{
[json appendString:@"\"status\":"];
[json appendString:jsonString];
}
}
[json appendString:@"}}"];
return json;
}
4.利用多个NSDictionary,拼接多层嵌套的json字符串,减少因手工拼接忘记加引号导致的json格式错误
示例代码:
NSDictionary *dataDictionary= [NSDictionary dictionaryWithObjectsAndKeys:mac,@"mac",
game,@"game",
devicetoken,@"devicetoken",
device,@"device",
gv,@"gv",
lang,@"lang",
os,@"os",
hardware,@"hardware",
down,@"down",nil];
NSDictionary *parmDictionary= [NSDictionary dictionaryWithObjectsAndKeys:@"getSession",@"act",
dataDictionary,@"data",nil];
NSDictionary *jsonDictionary=[NSDictionary dictionaryWithObjectsAndKeys:pv,@"pv",
parmDictionary,@"param",nil];
SBJsonWriter *writer = [[SBJsonWriter alloc] init];
NSString *jsonString=nil;
jsonString=[writer stringWithObject:jsonDictionary];
NSLog(@"%@",jsonString);
5.json字符串在线校验网址:
http://jsonlint.com/
发表评论
-
oc为啥不用try catch
2016-03-23 11:56 1404简单的来说,Apple虽然同时提供了错误处理(NSError) ... -
ReactiveCocoa笔记
2016-03-14 12:31 0为什么使用MVVM?为什么使用ReactiveCocoa? 概 ... -
PINCache
2016-01-19 15:11 948PINCache是线程安全的键值缓存框架,用来储存难以获取或重 ... -
Swift设计模式
2015-12-29 12:04 0Swift设计模式 -
Understanding Swift access control
2015-12-29 12:03 0Swift takes an unusual approuac ... -
cocoapods因GEM_HOME升级遇到问题解决办法
2015-12-17 14:40 926Installing CocoaPods on OS X 10 ... -
swift 闭包的比较写法
2015-12-16 11:10 755let names = ["Chris", ... -
iOS 生成二维码,生成条形码图片
2015-12-03 15:44 1472#pragma mark - 生成条形码以及二维码 // ... -
解决cocoapods 更新慢的问题
2015-11-23 17:01 756最近使用CocoaPods来添加第三方类库,无论是执行pod ... -
iOS中级面试题
2015-11-20 15:12 1182OneV‘s Den在博客里出了10道iOS面试题,用他的话是 ... -
cocoapods出错解决方法
2015-11-09 13:09 746自定义GEM_HOME $ mkdir -p $HOME/So ... -
oc时间从美国时间改到中国时间
2015-10-19 14:12 979_formatter = [[NSDateFormatt ... -
27个iOS开发库
2015-07-24 16:10 769超长慎入列表: DZNEmptyDataSet(UI,空表格 ... -
Values of type 'NSInteger' should not be used as format arguments; add an explic
2015-07-24 10:10 844Values of type 'NSInteger' shou ... -
iOS架构心得体会
2015-05-18 18:35 815好的架构不是设计出来的,而是进行出来的。 我的iOS工程架构 ... -
UICollectionView NSInternalInconsistencyException出现的原因
2015-05-11 11:32 3414'NSInternalInconsistencyExcepti ... -
XLForm-iOS表单库
2015-05-08 14:44 909XLForm是最灵活和强大的iOS类库,用于创建动态table ... -
Info.plist Utility Error: “Info.plist couldn't be opened because there is no suc
2015-05-06 16:13 689http://stackoverflow.com/questi ... -
iOS中Autolayout中各种情况的使用的width,height策略
2015-04-30 15:33 685可以总结为: 如果项目不支持横屏显示,使用w:Compac ... -
一句话加上下拉刷新
2015-04-29 18:22 770怎么一句话添加上拉刷新? https://github.co ...
相关推荐
SBJSON包是iOS和Mac开发中广泛使用的第三方库,用于处理JSON(JavaScript Object Notation)数据的解析和编码。JSON是一种轻量级的数据交换格式,因其简洁和易于阅读的特性,被广泛应用于Web服务和应用程序之间的...
在iOS开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。当涉及到iOS应用与服务器之间的数据交互时,JSON解析库就显得尤为重要。...
SBJson是iOS开发中常用的第三方JSON解析库,它由Stig Brautaset开发,提供了高效且易于使用的API来处理JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,广泛应用于Web服务和移动应用的...
SBJSON是iOS和macOS平台上的一个开源JSON(JavaScript Object Notation)解析库,由Stig Brautaset开发。这个库被广泛使用,因为它提供了简单、高效的API,使得开发者能够快速地将JSON数据转换为Objective-C对象,...
SBJson是iOS和Mac开发中广泛使用的JSON解析库,它为Objective-C编程语言提供了一种高效、简单的方式来处理JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务之间的数据通信。在iOS开发中,为了将JSON数据转化为可操作的对象,我们通常会使用第三方库,如SBJson。SBJson是Objective-C编写...
在iOS开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,被广泛用于应用程序与服务器之间的数据传输。由于其简洁、易读、易处理的特性,iOS提供了多种库来支持JSON的解析和序列化。本篇文章...
SBJSON是iOS和macOS平台上一个流行的JSON(JavaScript Object Notation)解析库,它由Stig Brautaset开发,提供了一套高效的API用于将JSON数据转换为Objective-C对象,反之亦然。在iOS开发中,处理JSON数据是常见的...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛应用于网络通信,因为它易于人阅读和编写,同时也容易让机器解析和生成。 SBJSON的主要特点包括: 1. **易用性**:SBJSON库的API设计简洁...
"sbjson"是一个开源的JSON(JavaScript Object Notation)解析器和编码器,适用于Objective-C编程语言。这个资源包包含了所有你需要在你的iOS或Mac OS X应用中集成sbjson库的必要组件。以下是对sbjson及其相关知识点...
SBJson是Objective-C编程语言中一个广泛使用的JSON(JavaScript Object Notation)解析库,由Stig Brautaset开发。这个库提供了高效的JSON编码和解码功能,使得在iOS和macOS应用开发中处理JSON数据变得非常便捷。在...
在iOS开发中,JSON(JavaScript Object Notation)是一种常见的数据交换格式,被广泛用于服务器与客户端之间的通信。本文将深入探讨如何在iOS中解析JSON数据,以“IOS之JSON数据解析”为主题,结合标签“源码”和...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和移动应用中的数据传输。Objective-C是苹果iOS和Mac OS X平台上主要的编程语言,它支持多种库来处理JSON数据。在iOS游戏或应用...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。它易于人阅读和编写,同时也易于机器解析和生成。在iOS开发中,由于其简洁性和高效性,JSON成为了与...
在iOS应用开发中,JSON(JavaScript Object Notation)是一种常用的数据交换格式,它简洁且易于人阅读和编写,同时也易于机器解析和生成。本篇主要介绍如何在iPhone开发中进行JSON解析,结合给出的标签“源码”和...
SBJSON是iOS和macOS平台上广泛使用的第三方JSON(JavaScript Object Notation)解析库,由Stig Brautaset开发。这个库使得Objective-C开发者能够轻松地将JSON数据转换为Foundation对象,如NSArray、NSDictionary,...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于iOS应用开发中,以便应用程序与服务器之间传输数据。iOS平台上的JSON解析通常涉及将JSON字符串转换为Objective-C对象,反之亦然。在本...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛应用于Web服务与客户端之间的数据传输。它的设计目标是尽可能地简洁清晰,使得人类可以直接读写,同时也能让计算机程序高效地处理。JSON格式...
在iOS开发中,JSON(JavaScript Object Notation)是一种广泛使用的数据交换格式,因其简洁明了、易于阅读和编写,同时也容易被机器解析和生成。在iOS应用开发中,我们需要将服务器返回的JSON数据转化为Objective-C...
除了苹果的内置库,还有很多优秀的第三方库可以用于Objective-C的JSON操作,如SBJson、AFNetworking(内置JSON解析支持)、Mantle等。这些库提供了更丰富的功能,比如模型自动映射、异步解析等,能够简化开发过程,...