JSONUtils.toJSONString的一个坑

时间:2021-03-19 17:18:31

JSONUtils.toJSONString(null); //返回一个为"null"的字符串

这样会导致一个结果就是StringUtils.isBlank判断后,会为false

因为高德返回的这个数据结构是个key-value结构,除了null,就是一个带有”{}“的一个字符串。因此不需要判断使用StringUtils.isBlank进行判断

public class JSONUtils {

    public static String toJSONString(Object o) {
JSONWriter writer = new JSONWriter();
writer.writeObject(o);
return writer.toString();
} public static Object parse(String text) {
JSONParser parser = new JSONParser(text);
return parser.parse();
}
}
    public void writeNull() {
write("null");
} @SuppressWarnings({ "unchecked", "rawtypes" })
public void writeObject(Object o) {
if (o == null) {
writeNull();
return;
}