objective-c - 将数据从 iPhone 应用程序发送到 Node.js Web 服务器

标签 objective-c ios json node.js socket.io

我拿了this code用于制作 sinatra 网络服务器并使用 express 制作我自己的 Node.js 版本。然后我得到了this code在 iPhone 上工作以从服务器获取数据。 iphone 应用程序发送对“/sushi.json”的 HTTP 请求,服务器使用 app.get('/sushi.json', function(request, response)) 处理此请求。然后,服务器将一个 JSON 字符串发送回 iOS 应用程序,然后将其解析为一个数组,以便它可以使用它。

但是如果我想发送数据服务器怎么办?在 iPhone 应用程序中,我将如何构建和发送 JSON 字符串,服务器将如何监视它?

另外,我不需要使用 socket.io 来让它工作。这是应该在这里使用的东西吗?

最佳答案

不,socket.io 是如果你想在你的服务器和客户端之间保持一个持久的流。其主要用途是当您需要服务器能够将数据推送到客户端而不是客户端请求它时。

要发布一些 JSON,您将使用与以前相同的代码,但创建请求对象的方式略有不同:

__autoreleasing NSError* error = nil;
id result = [NSJSONSerialization JSONObjectWithData:data 
                                            options:kNilOptions error:&error];

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: 
                                                       result, @"my_json", nil];

NSMutableURLRequest *request = [httpClient requestWithMethod:@"POST" 
                                            path:@"/myobject" parameters:params];

您将通过以下方式在服务器上获取您的数据

JSON.parse(request.params['my_json'])

关于objective-c - 将数据从 iPhone 应用程序发送到 Node.js Web 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9985835/

相关文章:

iphone - 如何创建径向 UIView?

ios - 绘制从数组到 map 的位置作为多个注释

objective-c - 从 OS X 命令行编译和链接 Swift 和 Objective C 代码

objective-c - 以编程方式编辑 Info.plist 可能吗?

ios - git merge Localized.strings 文件?

objective-c - RestKit - 使用空值/空数组映射 JSON 响应

ios - iPad编程,有什么方法可以编程反转颜色?

ios - CloudKit 执行

c# - 检查嵌套 json 中的键名

javascript - 在 react 中显示 JSON