具体来说,我想知道在反序列化对象时反序列化器如何设置私有(private)字段?考虑这样的示例类:
public class MyClass {
@JsonProperty( "My String" );
private String myString;
}
如果使用 objectMapper.readValue(json, MyClass.class);
将其反序列化,如果结果对象被标记为 private
,如何设置该字段?
最佳答案
在通过反射读取或写入值之前调用 Field.setAccessible(true) 就可以解决这个问题。
有关详细信息,请参阅相应的 javadoc:https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/AccessibleObject.html#setAccessible-boolean-
但要小心使用 ;-)
关于java - Jackson @JsonProperty() 用于注释私有(private)字段时如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63420195/