iOS Json的解析與創建

jopen 9年前發布 | 7K 次閱讀 Objective-C 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;

}</pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!