如何验证 JSON 属性(键)名称?
我想在不使用架构验证的情况下验证 JSON 属性(键)名称,
@Data
@AllArgsConstructor
@NoArgsConstructor
public Student {
private int studNo;
@jsonProperty("studname")
private String studname;
}
如果我提出这样的请求
{
"studNo": 50,
"studName": "Viji"
}
它正在接受请求,但我只想使用下面的请求
{
"studNo": 50,
"studname": "Viji"
}
请帮忙解决这个问题。
最佳答案
如果您使用 Jackson 库,请像下面这样实现您的代码:
public static void main(String[] args) throws IOException {
Test aaa = new Test("aaa");
System.out.println(new ObjectMapper().writeValueAsString(aaa)); //output {"a":"aaa"}
String str = "{\"name\":\"aaa\"}"; //
Test test = new ObjectMapper().readValue(str, Test.class); // give exception
System.out.println(test.getName());
}
class Test{
@JsonProperty(value = "a")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Test(String name) {
this.name = name;
}
}
关于java - 如何验证 Json 属性(键)名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60488045/