在 URL 中传递参数以在 IOS 中返回 json

     2023-03-04     115

关键词:

【中文标题】在 URL 中传递参数以在 IOS 中返回 json【英文标题】:Passing param in URL to get json back in IOS 【发布时间】:2014-04-23 03:48:32 【问题描述】:

对不起,我真的是 iPhone 开发的初学者,我正在从 URL 中提取 json 数据,并在 UITableView 中完美地提取和加载数据,下面是代码

- (void)fetchFeed

    NSString *requestString = @"http://bookapi.bignerdranch.com/courses.json";
    NSURL *url = [NSURL URLWithString:requestString];
    NSURLRequest *req = [NSURLRequest requestWithURL:url];

    self.session = [NSURLSession sharedSession];

    NSURLSessionDataTask *dataTask =
    [self.session dataTaskWithRequest:req
                    completionHandler:
     ^(NSData *data, NSURLResponse *response, NSError *error) 


         NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:data
                                                                     options:0
                                                                       error:nil];

         self.courses = jsonObject[@"courses"];

         dispatch_async(dispatch_get_main_queue(), ^
             [self.tableView reloadData];
         );

     ];

    [dataTask resume];
 

现在我想添加导师的过滤器,谁能告诉我怎么做。

谢谢

【问题讨论】:

【参考方案1】:

获取

GET 请求只是将查询字符串附加到 API url 的问题,例如:

NSString *format = [NSString stringWithFormat:@"http://www.yourapiurl.com?id=%@","123";
NSURL *url = [NSURL URLWithString:format];
NSLog(@"%@",url);
//Creating the data object that will hold the content of the URL
NSData *jsonData = [NSData dataWithContentsOfURL:url];
NSError *error = nil;
NSDictionary *result = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];

发布

-(NSData *)post:(NSString *)postParams  
    //Build the Request
    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://www.yourapiurl.com"]];
    [request setHTTPMethod:@"POST"];
    [request setValue:[NSString stringWithFormat:@"%lu", (unsigned long)[postParams length]] forHTTPHeaderField:@"Content-length"];
    [request setHTTPBody:[postParams dataUsingEncoding:NSUTF8StringEncoding]];

    //Send the Request
    NSData *returnData = [NSURLConnection sendSynchronousRequest: request returningResponse: nil error: nil];

    //Get the Result of Request
    NSString *response = [[NSString alloc] initWithBytes:[returnData bytes] length:[returnData length] encoding:NSUTF8StringEncoding];

    return returnData;

用法:

NSString *postString = [NSString stringWithFormat:@"prop1=%@&prop2=%@&prop3=%@",
                                          "value1","value2","value3"];
NSData *JsonData = [self post :postString];
NSDictionary *result = [NSJSONSerialization JSONObjectWithData:JsonData options:NSJSONReadingMutableContainers error:nil];
//then parse the JSON

【讨论】:

我想我没有正确解释我的问题,实际上在服务器上我有将讲师作为参数并在此基础上返回数据的方法。所以我的问题是我不知道如何传递参数在服务器上的 URL 上获取我的过滤结果。我正在使用 web api。 您是否在询问如何向您的 API 发出 POST/GET 请求? @BraveBoy 是的,对于 Get 请求,我有 1 个需要 id 作为参数的方法,另一个是 POST 方法,它需要请求对象作为参数,并保存 3 个属性。但我不知道如何传递参数,你的 he;p 将非常受欢迎。

如何在 fetch 中传递 POST 参数以在 React Native 中将图像上传到服务器?

】如何在fetch中传递POST参数以在ReactNative中将图像上传到服务器?【英文标题】:HowtopassPOSTparametersinfetchforuploadingimagetoserverinReactNative?【发布时间】:2019-06-0908:54:09【问题描述】:这是我尝试将图像发送到服务器的代码。postData=a... 查看详情

如何在 URL 中传递多个参数?

】如何在URL中传递多个参数?【英文标题】:HowdoIpassmultipleparameterinURL?【发布时间】:2012-06-1204:55:46【问题描述】:我想弄清楚如何在URL中传递多个参数。我想将android类中的纬度和经度传递给javaservlet。我该怎么做?URLurl;doublela... 查看详情

返回具有多个输入参数的函数的值以在同一类中具有多个参数的另一个函数中使用?

】返回具有多个输入参数的函数的值以在同一类中具有多个参数的另一个函数中使用?【英文标题】:ReturningthevalueofafunctionwithmultipleinputparameterstouseinanotherfunctionwithmultipleparametersinsidethesameClass?【发布时间】:2018-10-2823:31:00【问... 查看详情

通过参数传递变量以在函数内修改

】通过参数传递变量以在函数内修改【英文标题】:passvariablesbyparameterstobemodifiedwithinthefunction【发布时间】:2019-05-1807:34:50【问题描述】:我有一个方法负责将TextFormField字段的值保存在不同Forms的变量中的逻辑,但它们不会将值... 查看详情

获取传递给函数的参数,使用线程返回

】获取传递给函数的参数,使用线程返回【英文标题】:Gettheparameterspassedintofunctionusedathreadback【发布时间】:2021-11-1220:19:07【问题描述】:我希望能够访问传递给已用于线程的函数的参数,以将函数的结果与传入的参数匹配。... 查看详情

在c语言写的cgi程序中怎么获取url传递的参数

参考技术A当然,如果你想得到cgi的参数,可以把它作为结果的一部分返回到页面。如何间接调用?能给个简单的例子吗?问题补充:能给个小例子吗,我要做的是打开一个页面,页面初始化一些参数,这些参数是从cgi程序中来... 查看详情

如何在 Struts2 中提交表单的 URL 中传递参数

】如何在Struts2中提交表单的URL中传递参数【英文标题】:HowtopassaparameterinURLonaformsubmitinStruts2【发布时间】:2012-11-0215:36:24【问题描述】:我正在Struts2中做一个项目,我需要在URL中设置一个参数,例如下面链接中的用户参数。我... 查看详情

如何传递多个 cli 参数以在 SQL 中检索月份

】如何传递多个cli参数以在SQL中检索月份【英文标题】:howtopassmultiplecliargumentstoretrivemonthsinSQL【发布时间】:2020-09-1918:46:01【问题描述】:我有一个每月净销售额数据的样本表RegionAreaHQMonthSalesAAAxyzAx0310000BBBklmBk0320000AAAxyzAx0423000B... 查看详情

如何将存储的值作为列号参数传递以在 awk 中进行编辑?

】如何将存储的值作为列号参数传递以在awk中进行编辑?【英文标题】:HowdoIpassastoredvalueasthecolumnnumberparametertoeditinawk?【发布时间】:2016-07-0516:41:17【问题描述】:我有一个带有|分隔符的.dat文件,我想更改由作为参数传递并存... 查看详情

如何从 iOS 传递信息以在启动时做出本机反应?

】如何从iOS传递信息以在启动时做出本机反应?【英文标题】:HowdoIpassinformationfromiOStoreactnativeonstartup?【发布时间】:2018-05-3103:28:17【问题描述】:编辑为了澄清,我试图在我的应用程序中打开电子邮件中的附件。因此,数据需... 查看详情

在 django 模板 URL 标签中传递参数

】在django模板URL标签中传递参数【英文标题】:passparameterindjangotemplateURLtag【发布时间】:2017-08-1123:55:28【问题描述】:我正在尝试将参数传递给模板中的djangoURL。网址配置为:url(r\'^reviewrecord/(?P<pk>\\d+)/$\',views.MyView,name=\'rev... 查看详情

在查询字符串中传递“元组”以在 REST API 中进行过滤

】在查询字符串中传递“元组”以在RESTAPI中进行过滤【英文标题】:Passing"tuples"inaquerystringforfilteringinaRESTAPI【发布时间】:2020-06-1919:52:01【问题描述】:我有一个基于Flask的GETApi端点,允许获取员工信息。我们的客户要... 查看详情

有效的查询参数 - 在 URL 中传递数据

】有效的查询参数-在URL中传递数据【英文标题】:Validqueryparameters-passingdatainURL【发布时间】:2019-04-2521:55:28【问题描述】:每次我需要在URL中允许查询参数时,我总是使用http://example.com?something=value&amp;else=value。但是,最近... 查看详情

在 MVC 3 中的 url 中传递多个参数

】在MVC3中的url中传递多个参数【英文标题】:passingmultipleparametersinurlinMVC3【发布时间】:2011-04-2706:17:59【问题描述】:我在控制器中有一个名为“注册”的操作方法publicActionResultFacility(intid=0,intcontractId=0)当我像这样从url调用此... 查看详情

如何使用 PHP 在 URL 中传递 URL(作为 GET 参数)?

】如何使用PHP在URL中传递URL(作为GET参数)?【英文标题】:HowtopassURLinURL(asGETparameter)usingPHP?【发布时间】:2013-02-2115:26:19【问题描述】:我在将URL作为GET参数传递时遇到了一些问题。当我尝试访问时:http://www.linkebuy.com.br/linkeb... 查看详情

使用javascript在包含特殊字符的URL中传递参数[重复]

】使用javascript在包含特殊字符的URL中传递参数[重复]【英文标题】:PassingParametersinURLcontainingspecialcharactersusingjavascript[duplicate]【发布时间】:2015-12-1720:51:54【问题描述】:您好,我正在尝试在包含参数的控制器中调用操作结果,... 查看详情

在 url 中访问和传递值(导航返回)

】在url中访问和传递值(导航返回)【英文标题】:accessangpassvalueinurl(navback)【发布时间】:2022-01-1300:20:33【问题描述】:我开始从主页导航到交易页面,然后从交易页面我现在从详细信息页面导航到详细信息页面我有一个返回... 查看详情

Django:引用模板中的url名称并传递参数

】Django:引用模板中的url名称并传递参数【英文标题】:Django:Refertoanurlnameinatemplateandpassingparameter【发布时间】:2016-09-3017:38:27【问题描述】:我知道您可以在模板中引用urlname,这样您就无需在想要更改它们时在模板中硬编码您... 查看详情