java - 如何验证 Json 属性(键)名称?

标签 java android json

如何验证 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/

相关文章:

java - 正则表达式分配不正确

android - 网格布局与。表格布局

c - 在 C 中用 jansson 解析 JSON

javascript - 如何使用 jQuery 从 JSON 对象列出数组?

java - 按子类 Java 中的类型对通过继承创建的数组进行排序

java - Mac 上 Rider 使用的 java.security 文件的位置

android - Google Play 不接受高分辨率图标,尽管它是 512x512 和 32 位 RGBA

javascript - XML 到 JSON javascript 函数不起作用

java - 如何在基于 Spring DAO 的应用程序中实现 xml?

安卓平板尺寸