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

//普通字符串转JSON字符串转字典

2016-01-19 09:30 591 查看
- (void)viewDidLoad {
[super viewDidLoad];
//普通字符串
NSString *messageStr = @"{\"type\":3,\"class_id\":\"101446\",\"title\":\"test_\\u82f9\\u679c\",\"content\":\"123456\\u6d4b\\u8bd5\\u82f9\\u679c\\u63a8\\u9001\",\"class_type\":0}";
//JSON字符串
//    NSString *jsonMessage = [self JSONString:messageStr];
//转换成字典
NSDictionary *message = [self dictionaryWithJsonString:messageStr];
NSLog(@"%@",message);
}
-(NSString *)JSONString:(NSString *)aString {
NSMutableString *s = [NSMutableString stringWithString:aString];
[s replaceOccurrencesOfString:@"\"" withString:@"\\\"" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
[s replaceOccurrencesOfString:@"/" withString:@"\\/" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
[s replaceOccurrencesOfString:@"\n" withString:@"\\n" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
[s replaceOccurrencesOfString:@"\b" withString:@"\\b" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
[s replaceOccurrencesOfString:@"\f" withString:@"\\f" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
[s replaceOccurrencesOfString:@"\r" withString:@"\\r" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
[s replaceOccurrencesOfString:@"\t" withString:@"\\t" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [s length])];
return [NSString stringWithString:s];
}
- (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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: