判断网络请求数据是否是json
在 项目中请求网络数据时,有时候因为后台返回数据不是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;
}
}
---------------------
作者:好个李先生
来源:CSDN
原文:https://blog.csdn.net/jiyidehao/article/details/51275910
版权声明:本文为博主原创文章,转载请附上博文链接!
- 判断网络请求数据是否是json
- 封装工具类,判断是否连接网络,请求数据
- 网络请求回来json数据时去空格以及标示符
- AsyncHttpClient 网络请求+ fastJson解析数据
- 判断获取json数据中key是否为空
- jquery ajax调用数据后判断返回值是否为 json 格式
- Android检查设备是否可以访问互联网,判断Internet连接,测试网络请求,解析域名
- JS 判断 JSON 数据是否存在某字段
- iOS 10 的坑:新机首次安装 app,请求网络权限“是否允许使用数据”
- Android 手机卫士--构建服务端json、请求网络数据
- JS中如何判断JSON数据是否存在某字段
- 搞了一天,用SharedPreference 实现网络请求的JSON数据的本地存储
- 解析json数据,明明过程都写的挺对,在网络上请求也有数据,但是就是显示为空,原因是什么???
- 【原创】Android 判断默认数据网络是否为开,若关则跳转到网络配置页面
- iOS 10 的坑:新机首次安装 app,请求网络权限“是否允许使用数据”
- 同步异步网络请求封装以及数据JSON解析
- IOS-网络(HTTP请求、同步请求、异步请求、JSON解析数据)
- JS中判断JSON数据是否存在某字段的方法 JavaScript中判断json中是否有某个字段
- 解决判断某个字符串是否为json数据格式
- session失效,使用ajax请求数据被拦截,此时正常的处理逻辑是跳到登录界面,而不是界面没有变化(java判断是否是ajax请求)