- 浏览: 1124329 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (349)
- javascript (28)
- objective-c&cocos2d (46)
- 开发备忘及常用java代码 (46)
- core java7学习笔记 (13)
- Mina (7)
- HTML5 (13)
- 系统集成项目管理工程师学习笔记 (10)
- 数据库系统原理学习笔记 (11)
- C++学习笔记 (10)
- C语言学习笔记 (5)
- 数据结构学习笔记 (4)
- 计算机网络原理学习笔记 (3)
- 计算机组成原理学习笔记 (2)
- 软件工程学习笔记 (6)
- 开发工具 (15)
- OSGI学习 (1)
- 学习笔记 (19)
- oracle (3)
- java tv (1)
- web server (5)
- javafx (1)
- 随笔 (8)
- 梦舞集 (4)
- 工作流 (3)
- 程序错误记录 (6)
- Windows (2)
- Linux (4)
- Git (1)
- 企业管理 (2)
- android (1)
- JVM (17)
- box2dweb (1)
- 操作系统学习笔记 (6)
- 英语学习 (1)
- Windows 8 应用商店 (1)
- Go语言 (1)
- docker (1)
- visualVM源码学习 (0)
- MariaDB (0)
- JAVA7 (2)
- 面向对象存储 (0)
- Hibernate (14)
- Spring (3)
- 项目构建 (0)
- 读源码学JAVA (0)
- mybatis (1)
- spring mvc (2)
- Javassist (0)
最新评论
-
白天看黑夜:
Apache Mina Server 2.0 中文参考手册(带 ...
Mina学习笔记二_基础 -
yjph83:
兄弟,你这个解决方案是什么什么啊?我现在遇到个问题跟你类似的! ...
Tomcat 8.0.11 移动端访问报400错误问题 -
comedsh:
你好,我也想为开源的做点事情,想让 tomcat-redis- ...
利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法 -
bsr1983:
这个应该是浏览器内部设置的,你可以在Android上试一下别的 ...
javascript学习笔记八 -
787250527:
bsr1983 写道该值是浏览器内部的一个变量,只读的,不可修 ...
javascript学习笔记八
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/
发表评论
-
[转]解决 Xcode 删除文件后 missing file 警告
2014-03-19 18:19 1148转自:http://www.oschina.net/ques ... -
CocoStudio简介
2014-03-05 19:19 1422一、概述 1.1.功能简介 CocoS ... -
xcode5预览版下载地址
2013-06-16 09:56 22361.xcode5预览版下载地址 http://adcdo ... -
解决提交应用到AppStore时,提示UUID及UIDevice错误
2013-06-04 03:34 22991.如果使用了Admob,更新到最新版本6.4.2,删除Add ... -
解决Could not instantiate class named NSLayoutConstraint
2013-02-17 10:22 1452点击xib或storyboard文件,在右边的 inspect ... -
objective-c的arc项目中使用不支持arc的依赖库时编译错误的解决
2013-02-06 14:04 1179在Target->build phases->Co ... -
xcode4.6下载地址
2013-02-04 12:08 3108http://adcdownload.apple.com/De ... -
Mac上的DMG与ISO互转
2013-01-14 14:59 12111.把DMG转为ISO hdiutil convert /p ... -
设置ios中DatePicker的日期为中文格式
2012-12-18 18:12 72651.在模拟器中的“设置”-“通用”-“多语言环境”-“语言”设 ... -
Xcode 错误- Could not launch app - No such file or directory Error.
2012-12-14 11:50 1881通常发生在联机调试过程中,新旧工程交替测试 解决方 ... -
UIPickerView控件中自定义显示的字体大小及样式
2012-12-14 00:21 17798通过覆盖如下方法实现 - (UIView *)pickerV ... -
Flurry analytics SDK集成步骤及功能简介
2012-12-13 11:48 15445Flurry analytics SDK集成步骤及功能 ... -
Xcode4中显示“Line Numbers”行号
2012-12-11 10:46 1160Xcode4中显示“Line Numbers”行号 1 ... -
ios代码备忘
2012-12-09 00:23 14601.自定义导航栏返回按钮 self.navigationIt ... -
iOS OpenSource Library Collection
2012-12-07 17:45 1359转自:http://www.cppblog.com/inkcp ... -
ios内置付费IAP校验
2012-12-07 15:50 1620参考链接:http://developer.apple.com ... -
ios应用中集成多盟广告墙
2012-12-06 16:59 35691.下载广告墙SDK最新版 ... -
ios 导航栏、工具栏、tab栏图标大小
2012-12-06 16:50 11342工具栏和导航栏上的图标尺寸应如下所示: 对于iPhoe和iP ... -
【转】Google Admob 广告最佳做法
2012-11-13 15:40 6583转自:https://developers.google.co ... -
【转】Google AdMob 广告 iOS 初级指南
2012-11-13 15:37 1542转自:https://developers.google.co ...
相关推荐
在iOS开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。当涉及到iOS应用与服务器之间的数据交互时,JSON解析库就显得尤为重要。...
本篇文章将详细介绍三种在iOS开发中常用的JSON解析库:SBJSON、TouchJSON以及JSONKit。 1. **SBJSON** SBJSON是Stig Brautaset开发的一个开源库,它提供了一个简单的方法来解析和生成JSON数据。SBJSON不仅支持...
SBJSON包是iOS和Mac开发中广泛使用的第三方库,用于处理JSON(JavaScript Object Notation)数据的解析和编码。JSON是一种轻量级的数据交换格式,因其简洁和易于阅读的特性,被广泛应用于Web服务和应用程序之间的...
SBJson是iOS和Mac开发中广泛使用的JSON解析库,它为Objective-C编程语言提供了一种高效、简单的方式来处理JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于...
接下来是JSONKit,这是一个早期流行的JSON解析库,它的性能表现优秀,但自从Apple在iOS5中引入了内置的JSON解析支持后,JSONKit的使用逐渐减少。不过,如果你需要在旧项目中优化JSON解析性能,JSONKit仍然是一个不错...
本文将深入探讨如何在iOS中解析JSON数据,以“IOS之JSON数据解析”为主题,结合标签“源码”和“工具”,我们将讨论如何使用SBJson框架进行JSON的解析。 首先,JSON是一种轻量级的、易于人阅读和编写的数据格式,...
SBJSON是iOS开发中常用的第三方JSON解析库,它为Objective-C开发者提供了一种高效、简洁的方式来解析和生成JSON数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛应用于网络通信,因为它...
本文将详细介绍如何在iOS项目中使用SBJson库进行JSON的解析和编码。 首先,为了在你的iOS项目中引入SBJson库,你需要通过CocoaPods或者手动下载SBJson的源代码。如果你选择使用CocoaPods,确保你的项目已经配置了...
SBJSON是iOS和macOS平台上的一个开源JSON(JavaScript Object Notation)解析库,由Stig Brautaset开发。这个库被广泛使用,因为它提供了简单、高效的API,使得开发者能够快速地将JSON数据转换为Objective-C对象,...
3. **YAJL (objective-C bindings)**:YAJL是一个C语言的JSON解析器和生成器,它的Objective-C绑定使得在iOS项目中使用变得方便。 4. **JSONKit**:JSONKit是一个高性能的JSON解析和序列化库,其解析速度在许多情况...
SBJson是Objective-C编程语言中一个广泛使用的JSON(JavaScript Object Notation)解析库,由Stig ...通过了解和熟练运用SBJson解析库,开发者可以更高效地处理iOS和macOS应用中的JSON数据,提升应用的性能和用户体验。
在iOS开发中,JSON(JavaScript Object Notation)是一种广泛使用的数据交换格式,因其简洁明了、易于阅读和编写,同时也容易被机器解析和生成。在iOS应用开发中,我们需要将服务器返回的JSON数据转化为Objective-C...
- 解析后的数据类型要与JSON原始数据对应,例如JSON中的数字会被解析为NSNumber,而不是NSString。 在实际开发中,理解并熟练使用SBJsonParser可以极大地提高处理JSON数据的效率,简化数据解析的复杂性。同时,结合...
接下来,我们将详细讲解如何在iOS项目中使用SBJson进行JSON的编码和解码。 ### JSON编码 要将Objective-C对象编码为JSON字符串,你可以使用`SBJsonWriter`类: ```objc // 假设你有一个NSDictionary对象 ...
在iOS中,我们通常使用第三方库来解析JSON数据,其中“sbjson”是一个著名的库,全称为“Simple JSON”。Sbjson库提供了一套简单易用的API,使得在Objective-C中解析和生成JSON变得轻松。例如,你可以使用`...
在iOS开发中,SBJson是一个非常流行的JSON解析库,由Stig Brautaset开发。这个解析包提供了Objective-C接口,使得iOS开发者能够方便地将JSON字符串转化为Objective-C对象,如NSArray和NSDictionary,以及将Objective...
SBJSON是iOS和macOS平台上广泛使用的第三方JSON(JavaScript Object Notation)解析库,由Stig Brautaset开发。这个库使得Objective-C开发者能够轻松地将JSON数据转换为Foundation对象,如NSArray、NSDictionary,...
SBJSON是iOS和macOS平台上一个高效的JSON解析器和编码器,它由Stig Brautaset开发,以其高性能和易于使用而闻名。 **JSON的基本结构** JSON主要包含两种数据结构:对象和数组。对象是键值对的集合,用花括号{}包围...
- **过滤器**:通过自定义过滤器,可以在解码时忽略或修改JSON中的某些键值对。 - **性能优化**:SBJson经过优化,处理速度较快,适合大数据量的JSON操作。 在实际项目中,我们可以通过CocoaPods或Carthage等依赖...
"sbjson"是一个开源的JSON(JavaScript Object Notation)解析器和编码器,适用于Objective-C编程语言。这个资源包包含了所有你需要在你的iOS或Mac OS X应用中集成sbjson库的必要组件。以下是对sbjson及其相关知识点...