景点详情JSON接口解析

来源:互联网 发布:知商金融安全吗 编辑:程序博客网 时间:2024/04/29 09:16

/**

 *景点详情

 **/

+(void)creationScenicDetailWithScenic_id:(NSString *)scenic_id AndCallBack:(Callback) callback AndScallback:(Callback)scallback{

    //设置请求的URL

    NSString *path=[NSStringstringWithFormat:@"%@%@",URL_PREFIX,ScenicDtail_URL];

    //用字典存储需传给后台的参数

   NSDictionary *params;

   @try {

        params=@{@"user_id":[UserInfouid],@"token":[UserInfotoken],@"scenic_id":scenic_id};

    }

   @catch (NSException *exception) {

        scallback(YL_ERROR);

    }

    @finally {

    

    }

    //创建返回的数据(数组形式)

    NSMutableArray *backArray=[NSMutableArraynew];

    

    //创建请求管理者

    AFHTTPRequestOperationManager *manager=[AFHTTPRequestOperationManagermanager];

    //设置序列化器(使用二进制数据序列化),依靠设置序列化器来自动识别、解析返回的数据。默认使用的就是json解析,可以不用设置序列化器

    [manager setResponseSerializer:[AFHTTPResponseSerializerserializer]];

   

    //发送请求(此处是POST请求)

    [managerPOST:path parameters:paramssuccess:^(AFHTTPRequestOperation *operation,id responseObject) {

       NSError *err;

       NSDictionary *dict=[NSJSONSerializationJSONObjectWithData:responseObject options:0 error:&err];

       if (err) {

            scallback(WL_Error);

        }

       else {

            //打印路径、传给后台的参数、及后台的返回值

           NSLog(@"%@...%@...景点详情...%@",path,params,dict);

           NSString *status=[dict objectForKey:@"error"];

           if ([status isEqualToString:@"0000"]) {

               @try {

                   //遍历datas的每个参数

                   for (NSDictionary *dic1in dict[@"datas"]) {

                     //创建模型,将模型赋值

                       ScenicDetailModel *model=[ScenicDetailModelnew];

                        model.free_refund=[dic1objectForKey:@"free_refund"];

                        model.sale_num=[dic1objectForKey:@"sale_num"];

                        model.scenic_mobile=[dic1objectForKey:@"scenic_mobile"];

                        model.scenic_address=[dic1objectForKey:@"scenic_address"];

                        model.scenic_describe=[dic1objectForKey:@"scenic_describe"];

                      //model的数据加到数组中

                        [backArrayaddObject:model];

                    }

                   //返回返回值:backArray

                    callback (backArray);

                }

               @catch (NSException *exception) {

                    scallback(YL_ERROR);

                   return ;

                }

               @finally {

                }

            }

           else

            {

                scallback([dictobjectForKey:@"information"]);

            }

        }

    }failure:^(AFHTTPRequestOperation *operation,NSError *error) {

        scallback(WL_Error);

        NSLog(@"景点详情错误-->%@",[errorlocalizedDescription]);

    }];

}


0 0
原创粉丝点击