Ios 正在尝试使用HTTP Url请求并解析JSON

Ios 正在尝试使用HTTP Url请求并解析JSON,ios,objective-c,json,Ios,Objective C,Json,我尝试使用的API提供了一个HTTP Url请求,它向开发人员提供该请求,以便他们可以调用该API 此URL的问题是它包含太多“%”符号,因此我收到以下警告: “%”转换多于数据参数 下面是我使用URL创建NSString实例的代码: NSString *urlString = [NSString stringWithFormat:@"https://api.nutritionix.com/v1_1/search/%@?results=0%3A20&cal_min=0&c

我尝试使用的API提供了一个HTTP Url请求,它向开发人员提供该请求,以便他们可以调用该API

此URL的问题是它包含太多“%”符号,因此我收到以下警告:

“%”转换多于数据参数

下面是我使用URL创建NSString实例的代码:

    NSString *urlString = [NSString stringWithFormat:@"https://api.nutritionix.com/v1_1/search/%@?results=0%3A20&cal_min=0&cal_max=50000&fields=item_name%2Cbrand_name&appId=MY_APP_ID&appKey=MY_APP_KEY", searchText];

问题是,NSString中有UTF-8代码。(那些0%3A20…)

正确的处理方法是

  • 下面是您编码前的url

    NSString *urlString = [NSString stringWithFormat:@"https://api.nutritionix.com/v1_1/search/%@?results=0:20&cal_min=0&cal_max=50000&fields=item_name,brand_name&appId=MY_APP_ID&appKey=MY_APP_KEY", searchText];
    
  • 之后对字符串进行编码

    NSLog(@"encodedString : %@", [urlString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]);
    
  • 如果您有任何问题,请随时提出后续问题。干杯

    你可以试试这个

    NSURL * url=[NSURL URLWithString:@"your_url"]
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[url standardizedURL]];
    [request setValue:@"application/x-www-form-urlencoded; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
    
    希望它能帮上忙请试试这个。。。 确保中间不应有%sign-in,或者必须为每个格式说明符提供参数

    NSString*urlString=[NSString stringWithFormat:@',searchText]