json格式字符串轉(zhuǎn)字典不能直接轉(zhuǎn)化需要先轉(zhuǎn)換成Data辨液,在轉(zhuǎn)化成字,
同樣字典也不能直接轉(zhuǎn)換成json格式字符串蝠筑。
json格式字符串轉(zhuǎn)字典:
+ (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;
}
字典轉(zhuǎn)json格式字符串:
+ (NSString*)dictionaryToJson:(NSDictionary *)dic
{
NSError *parseError = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}
NSJSONWritingPrettyPrinted 是有換位符的。
如果NSJSONWritingPrettyPrinted 是nil 的話(huà) 返回的數(shù)據(jù)是沒(méi)有 換位符的