【问题标题】:validate json with entity class使用实体类验证 json
【发布时间】:2018-12-11 07:18:14
【问题描述】:

我有三个这样的课程:

public class User {
    private String username ;
    private String password;
} 

public class Profile extends User {
    private String name ;
    private String family ;
    private String age ;

}

public class AnotherProfileType {
    private String name ;
    private String family ;
    private String age ;
    private User user ;
}

我也有一个像这样的 json 字符串:

{
  "name":"Andy",
  "family":"Bypass",
  "age": 33,
  "username" : "andmand"
} 

还有一个像这样的json:

{
  "name": "Andy",
  "family": "Bypass",
  "age": "33",
  "user": {
    "username": "andmand"
  }
}

注意:你可以看到json没有密码字段。 (这只是一个例子)
现在我想知道哪个类相当于这个 json。
我们知道 Profile 类匹配的第一个 json 和 AnotherProfileType 类匹配的第二个 json。但是如何验证(理解)呢?

更新:
我需要这样的代码:

Object o = gson.fromJson(json,Object.class);
if (Object instanceof Profile) {
 // Do somethings 
}     

对象在此示例中不起作用。
我想验证 json 并将其与具有数据结构的类匹配。

【问题讨论】:

  • 到目前为止你尝试了什么?提供您的代码,以便我们解决您遇到的问题。
  • dzone.com/articles/processing-json-with-jackson - 这说明了我们如何将 json 与 Java 类进行匹配。如果映射失败,则认为json与你的java类不匹配。但是库可能不同,您也无法将 JSON 对象的 instanceof 对象与其他对象进行检查。
  • 不,这不能解决我的问题。

标签: java gson jsonb


【解决方案1】:

我找到了一个很好的答案:
Map Json By Interface

【讨论】:

    猜你喜欢
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 2019-06-07
    • 1970-01-01
    相关资源
    最近更新 更多