我正在使用Java。
我有以下课程:
class MyClass{
@JsonProperty("test")
String test;
String myPrivateTest;
}
我正在使用
Jackson ObjectWriter
将JSON对象写入文件/作为字符串,如下所示:ObjectWriter writer = objMapper.writer(new DefaultPrettyPrinter());
writer.writeValue(new File(path), myObject);
我只想写入文件
test
成员,而不要写入myPrivateTest,该怎么办?编辑
我已经尝试过:
class MyClass{
@JsonProperty("test")
String test;
@JsonIgnore
String myPrivateTest;
}
与
@JsonIgnoreProperties({"myPrivateTest"})
class MyClass{
@JsonProperty("test")
String test;
String myPrivateTest;
}
而且它仍然将myPrivateTest写入文件
最佳答案
使用Jackson 2.9.6
只需将@JsonProperty
添加到所需字段即可。
public class MyClass {
@JsonProperty("test")
String test;
String myPrivateTest;
public static void main(String[] args) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
MyClass c = new MyClass();
c.test = "HELLO";
c.myPrivateTest = "WORLD";
System.out.println(objectMapper.writeValueAsString(c));
}
}
输出:
{"test":"HELLO"}
String myPrivateTest
被正确忽略