直接上代码:
一、简单判断是否为json格式 ,判断规则:判断首尾字母是否为{}或[],如果都不是则不是一个JSON格式的文本。
public static boolean getJSONType(String str) { boolean result = false; if (StringUtils.isNotBlank(str)) { str = str.trim(); if (str.startsWith("{") && str.endsWith("}")) { result = true; } else if (str.startsWith("[") && str.endsWith("]")) { result = true; } } return result; }
二、通过fastjson解析来判断,解析成功,是json格式;否则,不是json格式
public static boolean isJSON2(String str) { boolean result = false; try { Object obj=JSON.parse(str); result = true; } catch (Exception e) { result=false; } return result; }
三、业务方法
public String isDevicePolicy(String policyIds, String deviceInfos) {boolean flag = false; try { String parameter = HttpClient.getQueryString(params); String str = path + parameter; String url = URLDecoder.decode(str,"UTF-8"); Optional<String> res = HttpClient.get(url);
// 判断返回的代码是否是json格式 Object objs =JSON.parse(res.get()); flag = true; if (flag) { JSONObject jsonObject = JSONObject.parseObject(res.get()); if (null != jsonObject.get("code") && jsonObject.getIntValue("code") == 1000) { result = jsonObject.getString("data"); } } } catch (Exception e) { flag = false; } return result; }