public class TestJson {
private String s1, s2;
@JsonIgnore
public String getS1() {
return s1;
}
@JsonIgnore(false)
public void setS1(String s1) {
this.s1 = s1;
}
public String getS2() {
return s2;
}
public void setS2(String s2) {
this.s2 = s2;
}
public static void main(String[] args) throws Exception {
ObjectMapper mapper = new ObjectMapper();
TestJson bean = new TestJson();
bean.setS1("test1");
bean.setS2("test2");
System.out.println(mapper.writeValueAsString(bean));
String json = "{\"s1\":\"test1\",\"s2\":\"test2\"}";
bean = mapper.readValue(json, TestJson.class);
System.out.println("s1=" + bean.getS1());
System.out.println("s2=" + bean.getS2());
}
}
s1=test1
s2=test2
s1=null
s2=test2
您可以将@jsonproperty
与jsonproperty.access.write_only
一起使用
来自文档
访问设置,该设置意味着可能只为反序列化写入(设置)属性,而不会在序列化上读取(获取)属性,即序列化中不包括属性的值。
public class TestJson {
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
private String s1;
private String s2;
public String getS1() {
return s1;
}
public void setS1(String s1) {
this.s1 = s1;
}
public String getS2() {
return s2;
}
public void setS2(String s2) {
this.s2 = s2;
}
}
public class TestJson {
private String s1;
private String s2;
@JsonIgnore
public String getS1() {
return s1;
}
@JsonProperty
public void setS1(String s1) {
this.s1 = s1;
}
public String getS2() {
return s2;
}
public void setS2(String s2) {
this.s2 = s2;
}
}
利用 getter/setter 可以拦截操作对象的属性,在设置属性前或获取属性前做一些事情。 1. getter get语法将对象属性绑定到查询该属性时将被调用的函数。(MDN) // 语法 var 对象 = { get 属性名() { // 做一些事情 balabala return 值; } }; getter 在获取一个属性时被调用,同时返回 getter 的返回
我正在使用C 11和stl线程编写线程安全队列。WaitAndPop方法目前如下所示。我希望能够向WaitAndPop传递一些指示调用线程是否已被要求停止的东西。WaitAndPop如果等待并返回队列的一个元素,则应返回true,如果调用线程被停止,则应返回false。 有可能编写这样的代码吗?我习惯了Win32 WaitForMultipleObject,但找不到适用于这种情况的替代方案。 谢谢
我试着用Java画一个长方形。我设置框架大小(800400)和可调整大小(假)矩形的x=50,y=50宽度=700高度=300。为什么不在中间呢?非常感谢。
Kotlin自动生成它的getters和settings,但是我从来没有引用过它们?另外,用Kotlin编写自定义getter/setter的正确方法是什么?当我说< code>myObj.myVar = 99时,我感觉< code>myVar是我正在直接访问的< code>myObj的公共字段。这里到底发生了什么?