使用实体 class 验证 json
validate json with entity class
我有三个这样的 class:
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 没有密码字段。 (这只是一个例子)
现在我想知道哪个 class 等同于这个 json .
我们知道第一个 json 与 Profile class 匹配,第二个 json 与 AnotherProfileType class 匹配。但是如何验证(理解)呢?
更新:
我需要这样的代码:
Object o = gson.fromJson(json,Object.class);
if (Object instanceof Profile) {
// Do somethings
}
对象在此示例中不起作用。
我想用数据结构验证和匹配 json 到 class。
我找到了一个很好的答案:
Map Json By Interface
我有三个这样的 class:
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 没有密码字段。 (这只是一个例子)
现在我想知道哪个 class 等同于这个 json .
我们知道第一个 json 与 Profile class 匹配,第二个 json 与 AnotherProfileType class 匹配。但是如何验证(理解)呢?
更新:
我需要这样的代码:
Object o = gson.fromJson(json,Object.class);
if (Object instanceof Profile) {
// Do somethings
}
对象在此示例中不起作用。
我想用数据结构验证和匹配 json 到 class。
我找到了一个很好的答案:
Map Json By Interface