【发布时间】: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 对象与其他对象进行检查。
-
不,这不能解决我的问题。