[QUESTION]对象中有Empty数组、Empty字符串等字段转成jsonString 这些字段不显示怎么办?需要加什么Feature才能让显示呢?
请描述您的问题
对象中有Empty数组、Empty字符串等字段转成jsonString 这些字段不显示怎么办?需要加什么Feature才能让显示呢? 挨个试了一遍都不行 版本:2.0.52
用这个 Feature.IgnoreEmpty
用这个 Feature.IgnoreEmpty
不行啊。我是想显示空的数组,不是忽略空的字段
用这个 Feature.IgnoreEmpty
找到原因了,类使用了jackson的注解去掉就好了 @JsonInclude(JsonInclude.Include.NON_EMPTY)
现在的FastJson2会被jackson的注解影响了吗?
`import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONWriter; import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Getter; import lombok.Setter;
import java.util.ArrayList; import java.util.List;
public class Test {
@Getter
@Setter
public static class DemoClass extends BaseClass {
private List<String> array = new ArrayList<>();
private String title;
private String value = "";
}
@Getter
@Setter
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public static class BaseClass {
private List<String> baseList = new ArrayList<>();
private String baseTitle;
private String baseValue = "";
}
public static void main(String[] args) {
DemoClass accidentManageRes = new DemoClass();
System.out.println("FastJson2: "+JSON.toJSONString(accidentManageRes,
JSONWriter.Feature.WriteNullStringAsEmpty));
System.out.println("FastJson1: "+com.alibaba.fastjson.JSON.toJSONString(
accidentManageRes, SerializerFeature.WriteNullStringAsEmpty));
}
}`
FastJson2: {"baseTitle":"","title":""} FastJson1: {"array":[],"baseList":[],"baseTitle":"","baseValue":"","title":"","value":""}
fastJson1 就不受jackson注解的影响