将 JSON 动态发布到 IOS 8 中的 URL 地址

Posted

技术标签:

【中文标题】将 JSON 动态发布到 IOS 8 中的 URL 地址【英文标题】:Posting JSON to URL adress in IOS8 dynamically 【发布时间】:2015-06-30 15:20:36 【问题描述】:

我正在开发一个应用程序,我的下一个目标是设置闹钟。要设置警报,我会将值上传到一个地址,以便稍后获得通知,以便我可以警告用户打开警报。

不幸的是,我既是 ios 新手,又不太了解使用这些 Web 服务。所以我在搜索所有这些东西时感到困惑。我发现了如何制作数据。所以问题是关于发布到 url 地址。简而言之,我现在要做的是,使用 JSON 格式将数据上传到该地址。

另一个问题也是,因为它是一个警报控制器,有多个警报。我的意思是,用户不必一次设置一个或多个警报。用户现在可以设置一个闹钟,明天可能他/她想再设置一个闹钟,甚至用户想删除!好吧,老实说,在删除之前,如果我现在可以处理上传问题,我会很高兴。因此,上传和动态更改地址中的 JSON 内容对我来说是另一个困惑。

我会很高兴收到您进一步的 cmets / 建议。如果你也能解释你所说的话,我会很高兴,因为说实话我可能不明白:)。

希望你能帮助我!谢谢 !


到目前为止,我付出了很多努力!请帮助我进一步..

 NSMutableDictionary *alarmDic = [[NSMutableDictionary alloc] initWithCapacity:4];
    //for (int i = 0; i < [self.arrayOfAlarm count]; i++) 
    NSLog(@"token: %@", self.token);
    [alarmDic setObject:[NSNumber numberWithInteger:42] forKey:@"Token"];
    NSLog(@"kur id: %lu", alarm.kurID);
    [alarmDic setObject:[NSNumber numberWithInteger:alarm.kurID] forKey:@"CurrencyId"];
    NSLog(@"not val: %f", alarm.kurAlis);
    [alarmDic setObject:[NSNumber numberWithFloat:alarm.kurAlis] forKey:@"NotificationValue"];
    NSLog(@"%ld", (long)alarm.kurTur);
    [alarmDic setObject:[NSNumber numberWithInteger:alarm.kurTur] forKey:@"Type"];

    NSData* jsonData = [NSJSONSerialization dataWithJSONObject:alarmDic
                                                       options:NSJSONWritingPrettyPrinted
                                                         error:nil];
    NSLog(@"%@", [[NSString alloc] initWithData:jsonData
                                       encoding:NSUTF8StringEncoding]);

    NSString *dataLength = [NSString stringWithFormat:@"%lu", (unsigned long)[jsonData length]];

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setURL:[NSURL URLWithString:@"http://api-dvzalt.azurewebsites.net/api/Notification/PostNotification"]];
    [request setHTTPMethod:@"POST"];
    [request setValue:dataLength forHTTPHeaderField:@"Content-Length"];
    [request setHTTPBody:jsonData];

    NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
    if(conn) 
        NSLog(@"Connection Successful");
     else 
        NSLog(@"Connection could not be made");
    

在日志窗口中,

requestReply: Connection Successful

但是,api 上没有发生任何事情,一如既往地说明这一点。

The requested resource does not support http method 'GET'.

【问题讨论】:

【参考方案1】:

我猜你需要一个 API, 您的 iPhone/iPad 会将 json 发送/请求到类似“api/SetAlarm”的路由,Heres a quick explanation, 还可以查看另一个 *** 问题 Here 中接受的答案。 希望对你有帮助

【讨论】:

首先感谢您的回答。我已经有一个 API,后端的朋友做到了。所以网络已经准备好了,我只需要在那里发布。 嗯,我以前看起来一样,但根本没有让它工作。无论如何,我现在会更深入地研究它,谢谢! 你能再检查一下我的问题吗?我更新了它。与我之前查找该链接时出现相同的错误。我一定是少了点什么。

以上是关于将 JSON 动态发布到 IOS 8 中的 URL 地址的主要内容,如果未能解决你的问题,请参考以下文章

将 JSON url 图片解析到 iOS 不起作用

如何从 URL 解析带有 Windows Phone 8 中图像的 Json 数据?动态数据

从 ios 中的 URL 获取图像不起作用

在iPhone 8上的iOS 11.2上运行的离子动态图像,但在iPhone 6上不在11.2上

如何从从json获得的url加载图像到collectionview

Power 查询 JSON 动态 URL