一,引入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:jsonDataencoding:NSUTF8StringEncoding];