使用带有授权的NSURL进行JSON解析

时间:2016-08-25 04:37:10

标签: objective-c json nsurlsession nsurl nsurlrequest

在下面的代码中JSONparsing方法工作正常,但是当我在odataJsonParsing方法中使用:http://192.168.1.37:8000/sap/opu/odata/sap/ZGW_BANK_DATA_SRV/BankSet更改url时? $ filter =(BankCtry%20eq%20%27IN%27)& $ format = json无法加载数据,它显示为Nil,但同样的方法对剩余的网址工作正常,任何人都可以建议我哪里出错了

 **Condition**: In odataJsonParsing method have authorization credentials like.


 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: [NSURL           URLWithString:@"http://192.168.1.37:8000/sap/opu/odata/sap/ZGW_BANK_DATA_  SRV/BankSet?$filter=(BankCtry%20eq%20%27US%27)&$format=json"]]; 
    [request setHTTPMethod: @"GET"  ];
    // [request setHTTPBody:self.requestData];
     [request setValue:@"XXXXXXX" forHTTPHeaderField:@"username"];
     [request setValue:@"XXXXXXX" forHTTPHeaderField:@"password"];
     [request setValue:[[NSUserDefaults             standardUserDefaults]valueForKey:@"Auth"]     forHTTPHeaderField:@"Authorization"];
        [request setValue:@"application/json"   forHTTPHeaderField:@"Content-Type"]; 
    -----------------------------------------------------------------
   -(void )JSONParsing
  {
    NSError *error;
    //--------------------------URLS----------------------------//
   //http://api.geonames.org/citiesJSON? north=44.1&south=-9.9&east=-22.4&west=55.2&lang=de&username=demo

   //http://api.kivaws.org/v1/loans/search.json?status=fundraising

      //http://192.168.1.37:8000/sap/opu/odata/sap/ZGW_BANK_DATA_SRV/BankSet?  $filter=(BankCtry%20eq%20%27IN%27)&$format=json

   //http://jsonplaceholder.typicode.com/posts

   NSURL *url=[NSURL      URLWithString:@"http://jsonplaceholder.typicode.com/posts"];

   NSData  *jsonData=[[NSData alloc] initWithContentsOfURL:url];

   if(jsonData!=nil){
       NSDictionary *jsonArray=[NSJSONSerialization      JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers    error:&error];
      NSLog(@"%@",jsonArray);
    }

    } 

    -(void)oDataJsonParsing
   {
     NSError *error;
   NSData *jsonData=[[NSData alloc] initWithContentsOfURL:[NSURL     URLWithString:@"http://192.168.1.37:8000/sap/opu/odata/sap/ZGW_BANK_DATA_    SRV/BankSet?$filter=(BankCtry%20eq%20%27IN%27)&$format=json"]];

   NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:jsonData   options:NSJSONReadingMutableContainers error:&error];
   NSLog(@"%@",dic);
   }

1 个答案:

答案 0 :(得分:-1)

{{1}}