iOS 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; 
 
 
}

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5139.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论