android OkHttpUtils 使用JSON数据作为请求参数
本人开发的开发者技术变现资源聚集地,大家支持下,下面是网址
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数据作为请求参数的更多相关文章
- ngResource提交json数据如何带参数
ngResource提交json数据如何带参数 直接使用ngResource和REST服务接口交互可以让程序显得简洁,前提是配置好跨域和OPTIONS请求的支持,与此同时,如果需要带些额外的参数,有两 ...
- [iOS 多线程 & 网络 - 2.6] - 使用POST上传JSON数据 & 多值参数
A.上传JSON 1.思路: 必须使用POST方法才能上传大量JSON数据 设置请求头:设置Content-Type 设置请求体,JSON实际相当于字典,可以用NSDictionary NSJSONS ...
- 扩展SpringMVC以支持绑定JSON格式的请求参数
此方案是把请求参数(JSON字符串)绑定到java对象,,@RequestBody是绑定内容体到java对象的. 问题描述: <span style="font-size: x-sma ...
- Android 下使用 JSON 实现 HTTP 请求
不得不说,JSON 格式的确是非常美妙的,速度快而且简化了很多操作在 Android 下,Android SDK 已经为我们封装好了整个与 JSON 有关的操作,使用非常方便 以下就是一个标准的 JS ...
- Android 下使用 JSON 实现 HTTP 请求,外加几个示例!
不得不说,JSON 格式的确是非常美妙的,速度快而且简化了很多操作在 Android 下,Android SDK 已经为我们封装好了整个与 JSON 有关的操作,使用非常方便 以下就是一个标准的 JS ...
- android发送/接收json数据
客户端向服务器端发送数据,这里用到了两种,一种是在url中带参数,一种是json数据发送方式: url带参数的写法: url+/?r=m/calendar/contact_list&uid=3 ...
- Android开发——获得Json数据,并显示图片
流程介绍 使用okhttp网络框架进行get请求,获得json数据 //一个封装好的工具类的静态方法 public static void sendOkHttpRequest(final String ...
- android开发学习 ------- json数据与实体类之间的相互转换
在网络请求的时候,会返回给我们实体类,我们需要将实体类转化为json字符串,方便处理数据: 有时候也会将json数据转换为实体类. 在Android Studio中,json要互相转换,需要用到gso ...
- Android处理错误json数据
此前一直都没遇到也一直相信服务端返回的json数据基本是正确的,直到我们的android端一直崩溃,并在友盟上查到一直报如下的错误: com.google.gson.JsonSyntaxExcepti ...
随机推荐
- XHXJ's LIS(数位DP)
XHXJ's LIS http://acm.hdu.edu.cn/showproblem.php?pid=4352 Time Limit: 2000/1000 MS (Java/Others) ...
- 破解myeclipse 2014
用网上的教程的确可以,但是他似乎写的有点少.....试了很多次,说说他少的: http://jingyan.baidu.com/article/fdbd42771039bfb89e3f4838.htm ...
- postman接口测试实例
牛刀小试项目 抽奖项目
- 8.17 纯css画一个着重号图标
今天看到一个同事写的着重号图标,我以为是图片,仔细一看,是span标签!哇!!学习一下哈哈 图标长这样: CSS代码: .hint{ display: inline-block; width: 20p ...
- Java中 final、static、abstract区别与联系
1.static修饰符 static作用于代码块:称作静态代码块(可以初始化static field,不能初始化非static field); static作用于methods: static方法只能 ...
- jsplumb流程器使用2
jsplumb默认注册在浏览器的窗口,为整个页面提供静态实例 1. 单独实例化的方法: var firstInstance = jsPlumb.getInstance(); 内部传入可定义对象 全 ...
- 运行./build.sh出现错误:bash: ./build.sh: Permission denied
原因:文件为只读,或者用户没有权限. 修改方法: 运行命令: chmod 777 build.sh
- mysql中各种join连表查询总结
通常我们需要连接多个表查询数据,以获取想要的结果. 一.连接可以分为三类: (1) 内连接:join,inner join (2) 外连接:left join,left outer join,righ ...
- 无法连接到localhost。其他信息:用户“sa”登录失败。原因:该用户被禁用。(Microsoft Sql Server,错误:18470).
18470错误: 解决方案: 使用windows身份验证登录之后,选择安全性--->登录名--->sa--->右击--->属性: 右击选择属性进入属性页面: 选择状态,然后再登 ...
- [z]一步步教你如何在 Visual Studio 2013 上使用 Github
[z]http://www.admin10000.com/document/4004.html 介绍 我承认越是能将事情变简单的工具我越会更多地使用它.尽管我已经知道了足够的命令来使用Github,但 ...