如何将JSON数据通过Get方法获取数据

接口格式如下:xxxxxxxxx/IMUser/getcontact?getcontact={"phonelist":[{"phone":"15314695439"}],"userid":"9"}   其中{"phonelist":[{"phone":"15314695439"}],"userid":"9"}为JSON格式

我是用ASIHttpRequest来请求数据的,方法如下:

NSMutableDictionary *_muDic = [[NSMutableDictionary alloc] init];

    NSMutableArray *dataArray=[[NSMutableArray alloc]init];

    for (int i=0; i<self.contacts.count; i++) {

        THContact *thentity=[self.contacts objectAtIndex:i];

        if (thentity.phone!=nil) {

            NSMutableDictionary *dic=[[NSMutableDictionary alloc]init];

            [dic setObject:thentity.phone forKey:@"phone"];

            [dataArray addObject:dic];     //此数据中存放手机号     

        }        

    }

 NSMutableDictionary *dataDic=[[NSMutableDictionary alloc]init];//此字典存放手机号列表和用户ID

    [dataDic setObject:dataArray forKey:@"phonelist"];

    [dataDic setObject:[YBXUserProfile sharedInstance].ownerId forKey:@"userid"];

    NSError *error;

    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dataDic options:NSJSONWritingPrettyPrinted error:&error];//这一句就是把NSDictionary转换成JSON格式的方法,JSON格式的数据存储在NSData类型的变量中。

    NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];//转换成UTF8编码

    [_muDic setObject:jsonString forKey:@"getcontact"];

    [commonManagement sendCommonEventToServer:_muDic interface:@"getcontact" InterfaceType:@"IMUser/getcontact"];//将存放数据的字典通过已封装好的方法

向服务器发送请求

目前看来到这就应该可以成功请求数据了,但实际不是,怎么都请求不到数据,NSString *jsonString = [[NSString allocinitWithData:jsonData encoding:NSUTF8StringEncoding];//转换成UTF8编码     此处编码过后,jsonString 里的数据被换行了,而地址栏中不能换行,于是我想了很久,找了很久,终于想到了jsonString 中的换行符替换掉,代码如下:

NSString *text = [[sendData valueForKey:sendKey] stringByReplacingOccurrencesOfString:@"\n" withString:@""];//这是在进行MD5加密的时候做的处理,问题到此终于解决了。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值