有一组第三方对接的数据,在接收的时候用到了JSONObject的toJavaObject方法,但是有个问题就是布尔类型的会转换失败,接收到的属性的值总是false,(实际是true)试了试网上提供的方法(比如实体类重写get,set方法;)还是没能解决。
String jsonStr = "{\"isTenantOwner\": true, \"name\": \"张三\"}";
JSONObject jsonObject = JSONObject.parseObject(jsonStr);
ThirdPartyUserInfo thirdPartyUserInfo = jsonObject.toJavaObject(ThirdPartyUserInfo.class);
实体类
public class ThirdPartyUserInfo {
private String username;
private String realname;
private boolean isTenantOwner;
public boolean isTenantOwner() {
return isTenantOwner;
}
public void setTenantOwner(boolean isTenantOwner) {
this.isTenantOwner = isTenantOwner;
}
}
我只能用最原始的方法,从jsonObject里拿到那个属性的值;
boolean isTenantOwner = jsonObject.getBoolean("isTenantOwner");
然后再把值赋到目标对象里。
大家有更好的方法可以写到评论区。