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 ...
随机推荐
- vue 返回上一页后,上一页由参数渲染的内容无法显示
思路1:将参数传递给第二个页面后,返回上一页时,再讲参数传回第一页(此方法适用于层级少的)(亲测有效) 思路2:将参数放到全局变量中(还未尝试过)
- AtCoder Regular Contest 096 D - Static Sushi(线性dp)
Problem Statement "Teishi-zushi", a Japanese restaurant, is a plain restaurant with only o ...
- HW3 纠结的心得
改好的controller //yuec2 Yue Cheng package hw3; import java.io.File; import java.text.DecimalFormat; im ...
- MVC 的那点小事
两年未见 一切从头再来.我猜到了故事的开头,找工作一如我想象的那般艰难,但是结果却比我预期的要好很多. 第一次开始用MVC 框架,比我想象的要简单的多,就像同事跟我说的,这只是个框架. 言归正传,前两 ...
- String.format的用法
有些时候,对于一些东西,不是没有简单的方法,而是我们没有接触到过 String.format();即创建格式化的字符串,里面有很多的通配使用符号,我这里说一下我接触到的,以后接触到其他的再填坑 它的内 ...
- mysql乐观锁总结和实践(一)
最近学习了一下数据库的悲观锁和乐观锁,根据自己的理解和网上参考资料总结如下: 悲观锁介绍(百科): 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持 ...
- union和union all区别
如果我们需要将两个select语句的结果作为一个整体显示出来,我们就需要用到union或者union all关键字.union(或称为联合)的作用是将多个结果合并在一起显示出来. union和unio ...
- 1.maven安装配置
这段时间在做项目构建管理方面的工作,以前很多项目都是通过ant去构建的,虽然很早就接触过mavan,但是从没有系统的去学习过, 现在项目需要用maven来构建,我结合自己的心得整理一下放在博客上作为自 ...
- 【Linux】关于路由跟踪指令traceroute
稍有计算机常识的人都知道ping命令,是用来检查自己的主机是否与目标地址接通,自己的主机与目标地址的通讯包通讯速率,所谓的通讯包也就是那些什么TCP/IP,UDP包,这里说得通俗一点,比如,就拿这 ...
- (转)OOP(面向对象编程)的几大原则
文章转载自:http://blog.csdn.net/anders_zhuo/article/details/8949566 设计模式遵循的一般原则: 1.开-闭原则(Open-Closed Prin ...