在将 json 字符串映射到对象时使用 @jsonProerty 注释而不是 getter 方法
use @jsonProerty annotation instead of getter method while mapping json string to object
Java Class
public class Employee{
@JsonProperty("NAME")
private String name;
@JsonProperty("NAME")
public String getName() {
return name;
}
@JsonProperty("NAME")
public void setName(String name) {
this.name = name;
}
}
输入Json字符串{"NAME":"xxxx"}
ObjectMapper mapper=new ObjectMapper();
Employee employee = mapper.readValue(jsonMessage, Employee.class);
system.out.println(employee.toString);
输出==={"name":"xxxx"}
将 json 字符串映射到 java class 时,有什么方法可以告诉您使用 @Json属性 而不是 getterMethod 吗?
如果我打印对象,期望输出与输入相同。
您将 System.out.println
与经典的 String employeeAsString = mapper.writeValueAsString(employee)
.
混淆了,它不遵守任何 Jackson 注释
试试后一种,你会得到大写的字段名称。
Java Class
public class Employee{
@JsonProperty("NAME")
private String name;
@JsonProperty("NAME")
public String getName() {
return name;
}
@JsonProperty("NAME")
public void setName(String name) {
this.name = name;
}
}
输入Json字符串{"NAME":"xxxx"}
ObjectMapper mapper=new ObjectMapper();
Employee employee = mapper.readValue(jsonMessage, Employee.class);
system.out.println(employee.toString);
输出==={"name":"xxxx"}
将 json 字符串映射到 java class 时,有什么方法可以告诉您使用 @Json属性 而不是 getterMethod 吗? 如果我打印对象,期望输出与输入相同。
您将 System.out.println
与经典的 String employeeAsString = mapper.writeValueAsString(employee)
.
试试后一种,你会得到大写的字段名称。