Swift + JSP + JSON实现服务器POST请求
来源:互联网 发布:vb 获取当月第一天 编辑:程序博客网 时间:2024/05/21 07:03
Swift中通过NSURLConnection来异步请求数据。
服务器通过JSP页面处理请求。
Swift代码如下,省略Connection的Delegate内容。
let urlPath: String = "Your_Address"var url = NSURL(string: urlPath)var request = NSMutableURLRequest(URL: url!)request.HTTPMethod = "POST"var dict=[ ["name":"neo1","from":"blog1.smemo.info"], ["name":"neo2","from":"blog2.smemo.info"], ["name":"neo3","from":"blog3.smemo.info"]]var jsonData = NSJSONSerialization.dataWithJSONObject(dict, options: NSJSONWritingOptions.allZeros, error: nil)var str = NSString(data: jsonData!, encoding: NSUTF8StringEncoding)!var dataString = "key=\(str)&otherKeys=otherValues"let requestBodyData = (dataString as NSString).dataUsingEncoding(NSUTF8StringEncoding)request.HTTPBody = requestBodyDatavar connection = NSURLConnection(request: request, delegate: self, startImmediately: true)println("sending request...")connection!.start()
在POST请求的RequestBody中直接放入转换好的DataString,格式为“key1=value1&key2=value2&key3=value3”。
特别注意
var str = NSString(data: jsonData!, encoding: NSUTF8StringEncoding)!
最后的"!",如果没有"!"会使最后得到的JSON的String值带有Optional(...)。 那么服务器收到之后就无法直接将JSON的string parse成JSONObject了。而加了"!"相当于确认了存在NSString,从而String值中就不再带有Optional了。
JSP代码如下。
String body=request.getParameter("key");JSONArray array=(JSONArray)JSONValue.parse(body);JSONObject tempObj = (JSONObject)array.get(1);logger.debug("from "+tempObj.get("from"));试了各种方式,还是直截了当的getParameter()最简单粗暴,试过其他的像是getInputStream和getReader,似乎都没能成功。
0 0
- Swift + JSP + JSON实现服务器POST请求
- swift post请求参数类型为json
- 使用urlconnection和json发送post请求到服务器
- 转贴:使用urlconnection和json发送post请求到服务器
- 使用urlconnection和json发送post请求到服务器
- OkHttp之post请求发送给服务器json
- c++ HTTP POST请求 向服务器发送json数据
- libcurl HTTP POST请求向服务器发送json数据
- java post json 请求
- Java Json Post 请求
- Struts2 Action接收POST请求JSON数据及其实现解析
- JAVA实现HTTPS协议POST请求JSON报文
- swift post json and header
- Okhttp 向服务器发送请求(请求头,表单,post json数据)
- swift 网络请求&json解析
- 通过post请求发json
- 异步POST请求解析JSON
- post请求和json解析
- swift详解之十八------------ScrollView
- 介绍一下Java的事务处理
- 黑马程序员--OC多态
- js算法:动态规划-多边形游戏
- GTK+中构件的基本概念
- Swift + JSP + JSON实现服务器POST请求
- 大三汪学Python (1)
- 引用与指针有什么区别?
- 对数据库一些基本知识的认识
- HDU 4738 Caocao's Bridges(找无向图的桥 双联通)
- 【CCF】节日
- Java学习路线图
- 翻转吧!方块
- 1022. Digital Library (30)