fastjson将json文件向实体类转化时属性转化问题

一世执手 提交于 2020-01-10 08:31:10
  1. 依赖:
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.56</version>
</dependency>
<!-- lombok -->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.8</version>
</dependency>
  1. 实体类:
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class User implements Serializable {
    private static final long serialVersionUID = -3209518898675994272L;
    private Integer id;
    private String name;
    private String addr;
    private int sno;
    private Double score;
    private float mark;
}
  1. json文件内容:
{"name":"李四","id":20,"job":"工程师"}
  1. 测试:
FileInputStream fis = new FileInputStream("g:/b.json");
Object obj = JSON.parseObject(fis, User.class);
System.out.println(obj);
  1. 结果:
User(id=20, name=李四, addr=null, sno=0, score=null, mark=0.0)
  1. 总结:
    fastjson将json文件解析为实体类对象时:
    (1) 如果实体类没有某些属性,则解析不会报错(实体类中自然不会出现该属性)。
    (2) 如果实体类中有某些属性,但是json文件中没有,解析也不会报错,对应字段的值就是默认值。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!