gson转对象变成null_json转换对象中出现null属性的解决方法

前言:当数据进行json转换时,当属性值为null时,json解析就会中断,导致接下来的数据无法正确获取。原则上来讲服务器端发送的json字符串不允许存在属性值为空的情况,但是如果服务器端发送了null的属性值,客户端也必须要解决。

这里举个今天遇到json转换null值的实例,在下面提一下

代码

Bean

Hr

public class Hr {

private Integer id;

private String name;

private String phone;

private String telephone;

private String address;

private Boolean enabled;

private String username;

private String password;

private String userface;

private String remark;

//防止null值,roles预先创建个List实例

private List roles = new ArrayList<>();

//get、set省略

Role

public class Role {

private Integer id;

private String name;

private String namezh;

//get、set省略

}

Controller

@RestController

@RequestMapping("/system/hr")

public class HrController {

@Autowired

HrService hrService;

@GetMapping("/")

public List


getAllHrs(Integer id){

return hrService.getAllHrs(id);

}

}

Service

@Service

public class HrService implements UserDetailsService {

@Resource

HrMapper hrMapper;

public List


getAllHrs(Integer id) {

return hrMapper.getAllHrs(id);

}

}

Mapper

java

public interface HrMapper {

List


getAllHrs(Integer id);

}

xml

select h.*,r.`id` as rid,r.`name` as ranme ,r.`nameZh` as rnameZh from hr h,hr_role hrr,role r where h.`id`=hrr.`hrid` and hrr.`rid`=r.`id` and h.`id`!=#{id}

数据库

测试

这里用Postman来进行测试

在这里出现了json转换失败的情况

处理

通过断点调试,从authorities这里打上断点进行debug调试

发现取值时出现了null值,然后回想起json对null值的处理时会停止执行,再搜寻着路径去查找原因。。。

总结:这里只是因为自己疏忽将原本有值的属性“变成”了null,在平时开发的时候也会有将原本为null值的属性通过json格式发送到前段做处理。这个时候只要把null值转换成" "空字符串就行了。(建议使用gson)

总结到这里,积累点点滴滴,一步一脚印,加油

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值