- 依赖:
<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>
- 实体类:
@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;
}
- json文件内容:
{"name":"李四","id":20,"job":"工程师"}
- 测试:
FileInputStream fis = new FileInputStream("g:/b.json");
Object obj = JSON.parseObject(fis, User.class);
System.out.println(obj);
- 结果:
User(id=20, name=李四, addr=null, sno=0, score=null, mark=0.0)
- 总结:
fastjson将json文件解析为实体类对象时:
(1) 如果实体类没有某些属性,则解析不会报错(实体类中自然不会出现该属性)。
(2) 如果实体类中有某些属性,但是json文件中没有,解析也不会报错,对应字段的值就是默认值。
来源:CSDN
作者:qq_37860935
链接:https://blog.csdn.net/qq_37860935/article/details/103847508