先上无法实现效果的代码,我的目的是序列化时如果数字型字段为null则填0,尽可能保证数据整齐。
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@JSONType(
serializeFeatures = {
JSONWriter.Feature.WriteNulls,
JSONWriter.Feature.WriteMapNullValue,
JSONWriter.Feature.WriteNullNumberAsZero,
JSONWriter.Feature.PrettyFormat,
}
)
public class Student {
@JSONField(name = "na") private String name;
@JSONField(name = "ch") private Integer chinese;
@JSONField(name = "ma") private Integer math;
@JSONField(name = "en") private Integer english;
}
我肯定这是版本的BUG
但是结果不行!!!下面的代码才能达到目的
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class Student {
@JSONField(name = "na") private String name;
@JSONField(name = "ch") private Integer chinese;
@JSONField(name = "ma") private Integer math;
@JSONField(name = "en") private Integer english;
}
Student student = new Student("jack",null,null,null);
String jsonString = JSON.toJSONString(student, JSONWriter.Feature.WriteNulls, JSONWriter.Feature.WriteMapNullValue,JSONWriter.Feature.WriteNullNumberAsZero,JSONWriter.Feature.PrettyFormat);
还有第二种方法,换fastjson版本,升级至v2.0.58,升级后就能用第一段代码的写法了
1418

被折叠的 条评论
为什么被折叠?



