json-framework for IOS
2011-10-24 19:18
232 查看
JSON是一种轻量级的数据交换格式,易于阅读和理解,而且比xml要小很多。JSON是以键值对的形式组织的,具体介绍参见:http://www.json.org/json-zh.html
目前很多语言都有相应的JSON解析框架,当然IOS使用的objective-c也不例外,有JSONKit(https://github.com/johnezang/JSONKit)、MTJSON(https://github.com/mysterioustrousers/MTJSON)、yajl-objc(https://github.com/gabriel/yajl-objc)、TouchJSON(https://github.com/TouchCode/TouchJSON)以及我一直在用的JSON-FrameWork(https://github.com/stig/json-framework/)。个人觉得json-framework有相当简单的API,使用起来很方便。它是一个开源框架,基于BSD协议发布。由于json-framework是开放源代码的,当你需要使用它时你只需将json的源代码加入到你的工程中。
下面简单介绍一下如何使用json-framework将一个json格式的string转成object或者将object转成json格式的string。
//json string to object
NSString *str =@"[{\"precision\": \"zip\",\"Latitude\": 37.7668,\"Longitude\": -122.3959,\"Address\": \"\",\"City\": \"SAN FRANCISCO\",\"State\":
\"CA\",\"Zip\": \"94107\",\"Country\": \"US\"},{\"precision\": \"zip\",\"Latitude\": 37.371991,\"Longitude\": -122.026020,\"Address\": \"\",\"City\": \"SUNNYVALE\",\"State\": \"CA\",\"Zip\": \"94085\",\"Country\": \"US\"}]";
//[str JSONValue];可以使用这个直接转成object,也可以使用下面的方法
SBJsonParser *parser = [[[SBJsonParser alloc]init]autorelease];
NSError *error = nil;
id object = [parser objectWithString:strerror:&error];
if (!error && object) {
NSLog(@"object:%@",object);
for (id obj in object) {
NSLog(@"obj:%@",obj);
for (int i=0; i<[[objallKeys]count]; i++) {
NSLog(@"key:%@,value:%@",[[objallKeys]objectAtIndex:i],[objobjectForKey:[[objallKeys]objectAtIndex:i]]);
}
}//太蛋疼了,csdn这个编辑框居然无法排版
}else
NSLog(@"error:%@",error);
//object to json string
NSMutableDictionary *dict = [[[NSMutableDictionary alloc]initWithCapacity:4]autorelease];
for (int i=0; i<4; i++) {
NSArray *array = [NSArray arrayWithObjects:@"gg",@"hh",@"ff",@"dd",nil];
[dict setObject:array forKey:[NSString stringWithFormat:@"%d",i]];
}
//[dict JSONRepresentation];可以使用这个直接转成json string,也可以使用下面的方法
SBJsonWriter *writer = [[[SBJsonWriter alloc]init]autorelease];
NSString *bj = [writer stringWithObject:dicterror:&error];
if (!error && bj) {
NSLog(@"bj:%@",bj);
}else
NSLog(@"error:%@",error);
转载:http://blog.csdn.net/xiaoguan2008/article/details/6732683
目前很多语言都有相应的JSON解析框架,当然IOS使用的objective-c也不例外,有JSONKit(https://github.com/johnezang/JSONKit)、MTJSON(https://github.com/mysterioustrousers/MTJSON)、yajl-objc(https://github.com/gabriel/yajl-objc)、TouchJSON(https://github.com/TouchCode/TouchJSON)以及我一直在用的JSON-FrameWork(https://github.com/stig/json-framework/)。个人觉得json-framework有相当简单的API,使用起来很方便。它是一个开源框架,基于BSD协议发布。由于json-framework是开放源代码的,当你需要使用它时你只需将json的源代码加入到你的工程中。
下面简单介绍一下如何使用json-framework将一个json格式的string转成object或者将object转成json格式的string。
//json string to object
NSString *str =@"[{\"precision\": \"zip\",\"Latitude\": 37.7668,\"Longitude\": -122.3959,\"Address\": \"\",\"City\": \"SAN FRANCISCO\",\"State\":
\"CA\",\"Zip\": \"94107\",\"Country\": \"US\"},{\"precision\": \"zip\",\"Latitude\": 37.371991,\"Longitude\": -122.026020,\"Address\": \"\",\"City\": \"SUNNYVALE\",\"State\": \"CA\",\"Zip\": \"94085\",\"Country\": \"US\"}]";
//[str JSONValue];可以使用这个直接转成object,也可以使用下面的方法
SBJsonParser *parser = [[[SBJsonParser alloc]init]autorelease];
NSError *error = nil;
id object = [parser objectWithString:strerror:&error];
if (!error && object) {
NSLog(@"object:%@",object);
for (id obj in object) {
NSLog(@"obj:%@",obj);
for (int i=0; i<[[objallKeys]count]; i++) {
NSLog(@"key:%@,value:%@",[[objallKeys]objectAtIndex:i],[objobjectForKey:[[objallKeys]objectAtIndex:i]]);
}
}//太蛋疼了,csdn这个编辑框居然无法排版
}else
NSLog(@"error:%@",error);
//object to json string
NSMutableDictionary *dict = [[[NSMutableDictionary alloc]initWithCapacity:4]autorelease];
for (int i=0; i<4; i++) {
NSArray *array = [NSArray arrayWithObjects:@"gg",@"hh",@"ff",@"dd",nil];
[dict setObject:array forKey:[NSString stringWithFormat:@"%d",i]];
}
//[dict JSONRepresentation];可以使用这个直接转成json string,也可以使用下面的方法
SBJsonWriter *writer = [[[SBJsonWriter alloc]init]autorelease];
NSString *bj = [writer stringWithObject:dicterror:&error];
if (!error && bj) {
NSLog(@"bj:%@",bj);
}else
NSLog(@"error:%@",error);
转载:http://blog.csdn.net/xiaoguan2008/article/details/6732683
相关文章推荐
- Json-framework for IOS
- Json-framework for IOS
- iPhone开发笔记(9)ASIHttpRequest和json-framework实现json解析(iOS客户端)
- ios library not found for -xxx(.a编译出错),xxx.h file not found(framework编译出错)
- Magical Data Modelling Framework for JSON
- Json for the .NET Compact Framework
- ArcGIS Runtime for IOS 几何对象与json的互相转换
- IOS上的几个类库:MBProgressHUD、ASIHttpRequest、JSON Framework和Flurry
- Sagit.Framework For IOS 开发框架入门教程4:注册页布局-被消灭的变量
- xmppframework for iOS client (一) XMPPFramework环境配置
- How to Create a Framework for iOS
- create-a-framework-for-ios
- IOS上的几个类库:MBProgressHUD、ASIHttpRequest、JSON Framework和Flurry
- iOS 上传app error: The executable for XXXX contains unsupported architetures x86_64,i386 (framework分离)
- IOS上的几个类库:MBProgressHUD、ASIHttpRequest、JSON Framework和Flurry
- Sagit.Framework For IOS 开发框架入门教程6:网络请求STHttp
- ios ld: framework not found Bolts for architecture x86_64
- Sagit.Framework For IOS 开发框架入门教程5:消息弹窗STMsgBox
- 『IOS』不要使用SBJSON(json-framework)
- Building a Universal Framework for iOS