直接上代碼:
一、簡單判斷是否為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; }