Okhttp怎样使用post向服务器提交数组

Okhttp怎样使用post向服务器提交数组,第1张

public String androidPost() { String rs = nullString path = "url/Android_JDBC_SH/AndroidLoginAction"HttpPost hp = new HttpPost(path)//获取客户端,用来向服务器发出请求 DefaultHttpClient hc = new DefaultHttpClient()try { //Default Constructor taking a name and a value BasicNameValuePair nm = new BasicNameValuePair("name", name)BasicNameValuePair pa = new BasicNameValuePair("password", password)List list = new ArrayList()list.add(nm)list.add(pa)//构建向服务器发送的实体 HttpEntity entity = new UrlEncodedFormEntity(list)hp.setEntity(entity)//提交请求,获取服务器的响应 HttpResponse response = hc.execute(hp)if (response.getStatusLine().getStatusCode() == 200) { //获取响应实体 entity = response.getEntity()rs = EntityUtils.toString(entity)} } catch (ClientProtocolException e) { e.printStackTrace()} catch (IOException e) { e.printStackTrace()} return rs}

1.使用JSONObject 、JSONArray将一个数组编写成json格式传递到php服务器中,php程序接受json格式的参数并解析成数组

这个方法可以就是让php服务器端解析android上传的json格式参数,再构建成一个数组,所以不解释。

2.用拼接字段,手动遍历创建所需要发送的key和value,key和value类型为string[],

例如

php端程序需要接受的数组格式为

array=>[ "key1" =>"value1",

"key2" =>"value2",

"key3" =>"value3",

......]

android端的处理为:

string [] key = {"array[key1]","array[key2]","array[key3]",....}

对应的值:

string [] value = {"value1","value2","value3",....}

若php端程序需要接受的数组格式为

array["key1"=>["key11"=>"value11",

post发送JSON数据(字符串、数组、字典、自定义对象)给服务器

触发发送的方法

这次Demo是通过点击屏幕触发发送数据给服务器事件

前提需要开启本地模拟服务器

发送JSON字符串

发送字典给服务器

发送数组给服务器

发送oc对象给服务器

先讲对象转换为字典

通过系统提供的JSON解析类进行序列化

觉得不错请点赞支持,欢迎留言或进我的个人群855801563领取【架构资料专题目合集90期】、【BATJTMD大厂JAVA面试真题1000+】,本群专用于学习交流技术、分享面试机会,拒绝广告,我也会在群内不定期答题、探讨


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/657111.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-24
下一篇2023-07-24

发表评论

登录后才能评论

评论列表(0条)

    保存