应用程序,网络服务器和Json


App, webserver and Json

我有一个接受带有类似字符串的 post 请求的 Web 服务器

value1=1&value2=2

现在,我正在编写一个连接到该 Web 服务器并向其发出 POST 请求的应用程序。 我的 POST 请求作为字典对象发送

request.HTTPMethod = "POST"
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: nil, error: &error)
request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")

Web 服务器不会读取请求,因为它是一个对象,它只是读取该字符串形式。是按照服务器要求发送字符串更好,还是更改 Web 服务器代码以接收对象更安全,以获得更好的安全性能?

你不能一般地说。这取决于发送对象图的复杂性。如果它只是没有任何"子对象"的键值对,我宁愿保持服务器原样。

如果它更复杂,则可以在正文中使用 JSON。(在这种情况下,请更改 MIME 类型。实际上,您是说您发送了编码的URL,但事实并非如此。当然,这应该行不通。我们在Objective-Cloud上这样做了,但也增加了对不同MIME类型的支持,因为它取决于传输的数据。

请注意,使用NSJSONSerializer您只能发送字典等。如果您有自定义类的实例对象,则必须将它们转换为支持的类。