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


    
    
    
    
    
    
    
    
    
    



    
      
      
      
    
  
  

数据库

1661877-20190423213657672-686801057.png

测试

这里用Postman来进行测试
1661877-20190423213707123-482820785.png

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

处理

通过断点调试,从authorities这里打上断点进行debug调试
json转换对象中出现null属性的解决方法_第1张图片

发现取值时出现了null值,然后回想起json对null值的处理时会停止执行,再搜寻着路径去查找原因。。。
json转换对象中出现null属性的解决方法_第2张图片

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

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

转载于:https://www.cnblogs.com/HYMY-L/p/10759169.html

你可能感兴趣的:(json转换对象中出现null属性的解决方法)