当我们使用JSON格式传递参数时,我们并不能保证接收到的一定为JSON格式的参数,我们需要对其进行验证
- 1、引入 alibaba 的 fastjson 依赖
<!-- alibaba的fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.51</version>
</dependency>
- 2、判断是否为JSON字符串的代码如下 JSONUtils.java:
import com.alibaba.fastjson.JSONObject;
import org.thymeleaf.util.StringUtils;
/**
* @ClassName JSONUtils
* @Description json验证工具
* @Author Lizhou
* @Date 2020-03-16 15:24:24
**/
public class JSONUtils {
/**
* 判断是否为json字符串
*
* @param content
* @return
*/
public static boolean isJSONString(String content) {
if (StringUtils.isEmpty(content)) {
return false;
}
if (!content.startsWith("{") || !content.endsWith("}")) {
return false;
}
try {
JSONObject.parse(content);
return true;
} catch (Exception e) {
return false;
}
}
}
总结:
1、我们首先判断该字符串是否以花括号 ”{“ 开头并以 “}” 结尾的
2、再次我们使用 JSONObject 将其转换为 JSON 对象,如果出现异常,则表示转化失败,并不是一个 JSON字符串
如您在阅读中发现不足,欢迎留言!!!