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);
/*!
* @brief 把格式化的JSON格式的字符串轉換成字典
* @param jsonString JSON格式的字符串
* @return 返回字典
*/
+ (NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString {
if (jsonString == nil) {
return nil;
}
NSData *jsonData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *err;
NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableContainers
error:&err];
if(err) {
NSLog(@"json解析失敗:%@",err);
return nil;
}
return dic;
}
+ (NSString*)dictionaryToJson:(NSDictionary *)dic
{
NSError *parseError = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}