判断网络请求数据是否是json
来源:互联网 发布:vb语言有什么用 编辑:程序博客网 时间:2024/05/19 12:16
在 项目中请求网络数据时,有时候因为后台返回数据不是json数据会导致程序崩掉。所以在请求网络数据的方法中直接先判断再操作。
public class MyHttpUtils {
private static HttpUtils httpUtils;
// 对post请求的封装
public static void post(String url, Map<String, String> map,
final StringCallBack callback) {
httpUtils = new HttpUtils();
RequestParams params = getParams(map);
httpUtils.send(HttpMethod.POST, url, params,
new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
// 返回数据
boolean json = isJson(responseInfo.result);
if (json == true) {
callback.stringCallback(responseInfo.result);
}
}
@Override
public void onFailure(HttpException error, String msg) {
System.out.println("================" + "失败");
// return;
}
});
}
// 对参数的封装
public static RequestParams getParams(Map<String, String> map) {
RequestParams params = new RequestParams();
ArrayList<NameValuePair> arrayList = new ArrayList<NameValuePair>();
BasicNameValuePair nameValuePair;
for (Map.Entry entry : map.entrySet()) {
// 获取键
String key = (String) entry.getKey();
// 获取值
String values = map.get(key);
try {
// 对值进行加密
String encode = DES3.encode(values);
nameValuePair = new BasicNameValuePair(key, encode);
arrayList.add(nameValuePair);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
params.addBodyParameter(arrayList);
return params;
}
// 将参数放入map集合
public static HashMap getMap() {
HashMap<String, String> map = new HashMap<String, String>();
map.put("key1", "values1");
map.put("key2", "values2");
return map;
}
/**
* 判断是否是json结构
*/
public static boolean isJson(String value) {
try {
new JSONObject(value);
} catch (JSONException e) {
return false;
}
return true;
}
}
- 判断网络请求数据是否是json
- PHP: 判断是否是JSON数据
- PHP: 判断是否是JSON数据
- 判断是否json数据
- 封装工具类,判断是否连接网络,请求数据
- 请求网络数据JSON
- 判断是否是手机请求
- 如何判断请求是否是AJAX请求
- 判断输入是否是数据
- Json解析网络请求数据
- 如何判断是否是ajax请求
- PHP判断是否是AJAX请求
- 判断一个请求是否是ajax
- Yii判断是否是ajax请求
- php判断请求是否是ajax
- 判断数据网络是否可用
- 判断字符串是否是json格式
- js判断是否是Json对象
- 单例模式
- bzoj 1934: [Shoi2007]Vote 善意的投票(最小割)
- sqlite实例
- Javascript变量提升解释
- 浏览器内核、缓存的介绍第一部分
- 判断网络请求数据是否是json
- Unity 激活或关闭选中物体快捷键
- 关于bit code的问题
- 将一个数转化为二进制数
- PHP程序员的技术成长规划
- 你所不了解的程序员内心的温柔
- 多线程的应用
- leetcode 343.Integer Break 整数分割(c++)
- [转载]排序算法总结