zoukankan      html  css  js  c++  java
  • JsonString,字典,模型之间相互转换

    NSData转字符串
    [NSString alloc] initWithData: encoding:]
    
    
    模型转字典
    attInfo.keyValues
    
    
    字典转模型
    ZTEOutputInfo *outputInfo = [ZTEOutputInfo objectWithKeyValues:responseObject];
    
    
    模型转Json字符串
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:attInfo.keyValues
                                                       options:NSJSONWritingPrettyPrinted
                                                         error:nil ];
    NSString* jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding] ;
    
    
    综合例子:
    + (void)checkAttatchStatus:(ZTEATTInfo *)attInfo t:(NSString *)t
    success:(void (^)(NSMutableDictionary *response))success failure:(void (^)(NSError *error))failure{
        
        NSData *jsonData = [NSJSONSerialization dataWithJSONObject:attInfo.keyValues
                                                           options:NSJSONWritingPrettyPrinted
                                                             error:nil ];
        NSString* jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding] ;
        
        ZTEInputInfo *inputInfo = [[ZTEInputInfo alloc] init];
        inputInfo.C = @"SubmitMCL";
        inputInfo.D = jsonString;
        //    CCLog(@"----D:%@",attInfo.keyValues);
        ZTEFilterInfo *filterInfo = [[ZTEFilterInfo alloc] init];
        filterInfo.K = @"ID";
        filterInfo.V = t;
        inputInfo.F = @[filterInfo];
        
        NSString* serverip = [ZTEServerAddrMng checkMailStatusAddr2];
        
        [kAppDelegate.netManager  postPath:serverip parameters:inputInfo.keyValues
                      postDataEncodingType:PostDataEncodingTypeJSON
                                   success:^(EMMHTTPRequestOperation *operation, id responseObject) {
                                       CCLog(@"Success: %@", responseObject);
                                       
                                       ZTEOutputInfo *outputInfo = [ZTEOutputInfo objectWithKeyValues:responseObject];
                                       CCLog(@"-------%@",outputInfo.keyValues);
                                       
                                       if ([outputInfo.S integerValue ] == 1) {
                                           if (success) {
                                               NSMutableDictionary *resultDict = [NSJSONSerialization JSONObjectWithData:[(NSString *)outputInfo.D dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableLeaves error:nil];
                                               success(resultDict);
                                           }
                                       }else{
                                           [ZTETipInfoView showTipWithMessage:outputInfo.M andState:KaBuTipInfoState_Failed];
                                       }
                                       
                                   } failure:^(EMMHTTPRequestOperation *operation, NSError *error) {
                                       CCLog(@"Error: %@", error);
                                       [ZTETipInfoView showTipWithMessage:@"网络错误" andState:KaBuTipInfoState_Failed];
                                       if(failure){
                                           failure(error);
                                       }
                                   }];
        
    }
    
  • 相关阅读:
    构造无限级树并深度遍历查找指定节点
    如何用python自动编写《赤壁赋》文档
    《易经》总结
    IDEA看代码必备插件Call Graph 介绍及使用方法
    chemfig化学式转换为pdf
    从wav到Ogg Opus 以及使用java解码OPUS
    使用jhipster 加速java web开发
    从Spring框架看设计模式如何灵活使用
    提升NginxTLS/SSL HTTPS 性能的7条优化建议
    高效团队的gitlab flow最佳实践
  • 原文地址:https://www.cnblogs.com/HJiang/p/5083497.html
Copyright © 2011-2022 走看看