本人开发的开发者技术变现资源聚集地,大家支持下,下面是网址

https://www.baiydu.com

如果就直接将JSON作为请求字符串,服务端会出现中文乱码。所以只需要将请求的整个JSON参数字符串编码一次,然后服务端解码一次。我这里服务端使用的servlet,下面会两段代码贴出。

android:

                    String url = customSessionSingleton.getInstance().requestBaseUrl+"AlipayInterface";
try {
OkHttpUtils.post().url(url).addParams("masterParameter", URLEncoder.encode(passSessionData.toString(), "UTF-8")) .build().execute(new StringCallback() {
@Override
public void onBefore(Request request, int id) { }
@Override
public void onAfter(int id) { }
@Override
public void onError(Call call, Exception e, int id) {
e.printStackTrace();
String json= e.getMessage();
}
@Override
public void onResponse(String response, int id) {
JSONObject returnJSONObject = null;
try {
returnJSONObject=new JSONObject(response) ; if(returnJSONObject.getInt( "Success" )==1)
{
if(payWay.equals( "支付宝" )) { serverSignStr=serverSignStr+"&sign=" + returnJSONObject.getString( "sign" ); Runnable payRunnable = new Runnable() { @Override
public void run() {
PayTask alipay = new PayTask(HomeFragment_RechargeActivity.this);
Map<String, String> result = alipay.payV2(serverSignStr, true);
Log.i("msp", result.toString()); Message msg = new Message();
msg.what = SDK_PAY_FLAG;
msg.obj = result;
alipayHandle.sendMessage(msg);
}
}; Thread payThread = new Thread(payRunnable);
payThread.start(); }
else if(payWay.equals( "微信" ))
{ }
else if(payWay.equals( "全积分抵扣" ))
{ Dialog alertDialog = new AlertDialog.Builder(HomeFragment_RechargeActivity.this).
setTitle("登录用户,全积分抵扣").
setMessage("全积分抵扣").
setIcon(R.drawable.ic_launcher).
create();
alertDialog.show(); mLoading.dismiss(); }
}
else
{ }
} catch (JSONException e) {
e.printStackTrace();
} }
});
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}

Servlet:

    JSONObject    requestObject=new JSONObject(URLDecoder.decode(request.getParameter("masterParameter"),"utf-8"));
String account= requestObject.getString("account");

本人创业做的一款androidApp, 下载量已经有2000多万,各种当前热门的网络手机奖励红包全部集成,另外还有热门电影和淘宝高额优惠券!很适合各类型的用户。

 

android OkHttpUtils 使用JSON数据作为请求参数的更多相关文章

  1. ngResource提交json数据如何带参数

    ngResource提交json数据如何带参数 直接使用ngResource和REST服务接口交互可以让程序显得简洁,前提是配置好跨域和OPTIONS请求的支持,与此同时,如果需要带些额外的参数,有两 ...

  2. [iOS 多线程 & 网络 - 2.6] - 使用POST上传JSON数据 & 多值参数

    A.上传JSON 1.思路: 必须使用POST方法才能上传大量JSON数据 设置请求头:设置Content-Type 设置请求体,JSON实际相当于字典,可以用NSDictionary NSJSONS ...

  3. 扩展SpringMVC以支持绑定JSON格式的请求参数

    此方案是把请求参数(JSON字符串)绑定到java对象,,@RequestBody是绑定内容体到java对象的. 问题描述: <span style="font-size: x-sma ...

  4. Android 下使用 JSON 实现 HTTP 请求

    不得不说,JSON 格式的确是非常美妙的,速度快而且简化了很多操作在 Android 下,Android SDK 已经为我们封装好了整个与 JSON 有关的操作,使用非常方便 以下就是一个标准的 JS ...

  5. Android 下使用 JSON 实现 HTTP 请求,外加几个示例!

    不得不说,JSON 格式的确是非常美妙的,速度快而且简化了很多操作在 Android 下,Android SDK 已经为我们封装好了整个与 JSON 有关的操作,使用非常方便 以下就是一个标准的 JS ...

  6. android发送/接收json数据

    客户端向服务器端发送数据,这里用到了两种,一种是在url中带参数,一种是json数据发送方式: url带参数的写法: url+/?r=m/calendar/contact_list&uid=3 ...

  7. Android开发——获得Json数据,并显示图片

    流程介绍 使用okhttp网络框架进行get请求,获得json数据 //一个封装好的工具类的静态方法 public static void sendOkHttpRequest(final String ...

  8. android开发学习 ------- json数据与实体类之间的相互转换

    在网络请求的时候,会返回给我们实体类,我们需要将实体类转化为json字符串,方便处理数据: 有时候也会将json数据转换为实体类. 在Android Studio中,json要互相转换,需要用到gso ...

  9. Android处理错误json数据

    此前一直都没遇到也一直相信服务端返回的json数据基本是正确的,直到我们的android端一直崩溃,并在友盟上查到一直报如下的错误: com.google.gson.JsonSyntaxExcepti ...

随机推荐

  1. 如何在比较1.5 len的次数下,找到整型数组最大最小值

    2016-11-11 #include <iostream> #include<stdlib.h> #include<stdio.h> using namespac ...

  2. 第五章 Inheritance继承

    [继承] Java不支持多重继承 - 每个子类只有一个超类. 不是将成员变量声明为静态,更好的做法是将University实例化为对象,然后使用该对象访问其成员,如下所示: [抽象类] 可以包含或者不 ...

  3. swift - UIWebView 和 WKWebView(iOS12 之后替换UIWebView)

    1.iOS12 之前 使用 UIWebView 1> private lazy var webV : UIWebView = { let v = UIWebView(frame: self.vi ...

  4. Failed to read artifact descriptor for xxx:jar的问题解决

    在开发的过程中,尤其是新手,我们经常遇到Maven下载依赖jar包的问题,也就是遇到“Failed to read artifact descriptor for xxx:jar”的错误. 对于这种非 ...

  5. rosrun和roslaunch

    rosrun allows you to run an executable(可执行) in an arbitrary(任意) package without having to cd (or ros ...

  6. SqlServer2014导出数据库的数据字典-最新版本(字段说明也能导出)

    --移动360导出数据字典 -- --快速查看表结构(比较全面的) THEN obj.name ELSE '' END AS 表名, col.colorder AS 序号 , col.name AS ...

  7. 微信网页JS分享,微信二次分享无缩略图问题

    很多时候我们要在微信中分享h5网页,这个时候就得用微信的分享接口来自定义分享的地址.标题.描述.缩略图了. 分享到微信的时候遇到一个问题,就是第一次分享到微信里,是正确的,但是在微信打开分享的链接,再 ...

  8. BOM浏览器对象模型;

    1.window.open(url,ways) url是打开的网页地址 ways是打开方式(-blank:-self) 2.window.close()关闭窗口 3.浏览器的用户信息 window.n ...

  9. Android开发之自定义Toast(带详细注释)

    因为工作需求,所以自己研究了自定义Toast,这里做出总结: 在此之前有一点需要提前说明:Toast与其他组件一样,都属于UI界面中的内容,因此在子线程中无法使用Toast弹出提示内容,如果强行在子线 ...

  10. 8Q - 献给杭电五十周年校庆的礼物

    我不能参赛,就送给学校一个DOOM III球形大蛋糕吧.等一等,吃蛋糕之前先考大家一个问题:如果校长大人在蛋糕上切了N刀(校长刀法极好,每一刀都是一个绝对的平面),最多可以把这个球形蛋糕切成几块呢?  ...