一、需求
快速判断一个字符串是否为json字符串
二、实现
1、以’{'开头 且 '}'结尾
2、解析成JSONObject,不抛异常
三、代码
private static boolean isJSON (String json) {
if ("{}".equals(json) || (json.length() > 2 && json.charAt(0) == '{' && json.charAt(json.length()-1) == '}')) {
try {
JSONObject obj = JSON.parseObject(json);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
return false;
}
四、测试
public static void main(String[] args) {
String json = "{\"msg\":\"成功\",\"code\":1,\"data\":[{\"teamNodes\":[{\"teamName\":\"team1\",\"teamCode\":\"code1\"}],\"orgName\":\"org1\",\"phone\":\"+8615510405000\",\"idCard\":\"43020019710325725X\",\"ipv6\":\"3002:0bd6:0000:0000:0000:ee00:0033:6778\",\"orgFullName\":\"name1\",\"teamNum\":1,\"mac\":\"14-E1-2D-E3-2C-5E\"}]}";
System.out.println(isJSON("a"));
System.out.println(isJSON("1234567890"));
System.out.println(isJSON(json.substring(0, 20)));
System.out.println(isJSON(json.replaceAll(":", "?")));
System.out.println(isJSON("{}"));
System.out.println(isJSON(json));
}