iOS Json的解析与创建

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

+ (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;


}