ios Json的解析与创建
之前写过类似微信的语音功能,这里用到了json解析与创建
+ (NSString *)voiceMessageConentWithEntity:(VMessageEntity *)entity{
NSLog(@"entity.voiceMessage.voicemd5 == %@",entity.voiceMessage.voicemd5);
if (!entity) {
return nil;
}
VChatVoiceEntity *voiceMessage = entity.voiceMessage;
if (!voiceMessage) {
return nil;
}
NSString *voicemd5 = voiceMessage.voicemd5;
NSString *duration = voiceMessage.duration;
if (entity.messageType == VMessageTypeVoice) {
NSMutableDictionary *rootDict = [NSMutableDictionary dictionary];
if (voicemd5) {
[rootDict setObject:voicemd5 forKey:@"md5"];
}
if (duration) {
[rootDict setObject:duration forKey:@"duration"];
}
NSError *error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:rootDict options:NSJSONWritingPrettyPrinted error:&error];
if (error) {
NSLog(@"%@", error);
}
NSString *json = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
return json;
}else{
return nil;
}
}
+ (VChatVoiceEntity *)voiceWithJson:(NSString *)json{
if (!json.length) {
return nil;
}
NSData *jsonData = [json dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSDictionary *root = [NSJSONSerialization JSONObjectWithData:jsonData
options:NSJSONReadingMutableLeaves
error:&error];
if (root) {
VChatVoiceEntity *voiceMessage = [[VChatVoiceEntity alloc] init];
voiceMessage.voicemd5 = [root objectForKey:@"md5"];
voiceMessage.duration = [root objectForKey:@"duration"];
return voiceMessage;
}
return nil;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。