您的位置:首页 > Web前端 > JavaScript

使用JSONKit将字符串,字典,数组转换成json格式

2014-05-02 12:34 609 查看
原文http://blog.sina.com.cn/s/blog_6b8c3d7a01018803.html

一,引入jsonkit

NSString *str = nil;
//字符串
NSMutableString *string = [[NSMutableString alloc] init];
[string appendString:@"xxxx"];
str = [string JSONString];
NSLog(@"str1:%@",[NSString stringWithString:str]);

//数组
NSArray *array = [[NSArray alloc] initWithObjects:@"111",@"333",@"222", nil];
// NSMutableArray *array = [NSMutableArray array];
str = [array JSONString];
NSLog(@"str2:%@",[NSString stringWithString:str]);
[array release ];

//字典
NSArray *firstArr = [NSArray arrayWithObjects:@"first",@"second", nil];
//基本数据类型转换成NSNumber类型
NSArray *secondArr = [NSArray arrayWithObjects:[NSNumber numberWithDouble:2.1],[NSNumber numberWithBool:NO], nil];
//加到字典中
NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:firstArr,@"first",secondArr,@"second", nil];
//转化成json格式
str = [dic JSONString];
NSString *str2 = [NSString stringWithString:str];
NSLog(@"str3:%@",str2);

//编码
NSData *archive = [NSKeyedArchiver archivedDataWithRootObject:array];
// NSLog(@"archive:%@",archive);
NSArray *arr2 = [NSKeyedUnarchiver unarchiveObjectWithData:archive];
NSLog(@"arr2:%@",arr2);


二,系统自带

// 将数组转JSON
- (NSData *)toJSONData:(id)theData{
NSError *error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:theData
options:NSJSONWritingPrettyPrinted
error:&error];
if ([jsonData length] > 0 && error == nil){
return jsonData;
}else{
return nil;
}
}

NSString *jsonString = [[NSString alloc] initWithData:jsonData  encoding:NSUTF8StringEncoding];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐