{"name":"","position":"","info":"","nick":""}
如这样的字符串,要怎么判断他中间是没有值的
引入hutool和gson(用于解析json数据)
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.3.0</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.7</version>
</dependency>
public class Entity{
private String name;
private String position;
private String nick;
private String info;
//getter setter
}
public class ElevenTest{
public static void main(String[] args){
String str = "{\"name\":\"\",\"position\":\"\",\"info\":\"\",\"nick\":\"\"}";
Entity entity = new Gson().fromJson(str,Entity.class);
if(StrUtil.isBlank(entity.getName())){
System.out.println("name属性为空");
}
//其他属性同上
}
}
==null或者equals("");
解析json最标准的啊
使用commons-lang3的工具类StringUtils的isNotBlank方法,只要是空(""或null)都能判断出来,这个就是需要引commons-lang3这个依赖
转为JSONObject,或者Map,获取Values,进行判空操作
判断xx字符串是否有值,xx==null && ("").equals(xx) 就可以了。当然也可以借助 ommons-lang的工具类StringUtils。
不过看题目感觉你问非所问。如果你是想根据 属性是否全部为空来判断对象是否为空,那么 在属性已知且不多的情况下 一个一个判断就行,属性多或未知的情况下 通过反射来获取所有属性并判断是否为空
你就直接"".equals(name)如果为true就没有值