We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
在Fastjson 1.2.7版本之后,fastjson提供LabelFilter功能,用于不同的场景定制序列化。
需要使用LabelFilter,首先需要用@JSONField配置label。如:
public static class VO { private int id; private String name; private String password; private String info; @JSONField(label = "normal") public int getId() { return id; } public void setId(int id) { this.id = id; } @JSONField(label = "normal") public String getName() { return name; } public void setName(String name) { this.name = name; } @JSONField(label = "secret") public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } }
根据不同场景过滤,如下:
VO vo = new VO(); vo.setId(123); vo.setName("wenshao"); vo.setPassword("ooxxx"); vo.setPassword("ooxxx"); String text1 = JSON.toJSONString(vo, Labels.includes("normal")); Assert.assertEquals("{\"id\":123,\"name\":\"wenshao\"}", text1); String text2 = JSON.toJSONString(vo, Labels.excludes("secret")); Assert.assertEquals("{\"id\":123,\"info\":\"fofo\",\"name\":\"wenshao\"}", text2);