Java 如何验证Json属性(键)名称?
如何验证JSON属性(键)名称 我想在不使用模式验证的情况下验证JSON属性(键)名称Java 如何验证Json属性(键)名称?,java,android,json,Java,Android,Json,如何验证JSON属性(键)名称 我想在不使用模式验证的情况下验证JSON属性(键)名称 @Data @AllArgsConstructor @NoArgsConstructor public Student { private int studNo; @jsonProperty("studname") private String studname; } 如果我是这样提出要求的 { "studNo": 50, "studName": "Viji" }
@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;
}
}
如果您使用的是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;
}
}
Change
@jsonProperty(“studname”)
@jsonProperty(“studname”)@Joel我认为OP正在寻找一种方法,迫使解析器将键视为区分大小写的Change@jsonProperty(“studname”)
=>@jsonProperty(“studname”)
@Joel我认为OP正在寻找一种方法,迫使解析器将键视为区分大小写的