gpt4 book ai didi

java - 如何动态地将Json对象转换为Java对象

转载 作者:行者123 更新时间:2023-12-01 17:59:34 25 4
gpt4 key购买 nike

这是我的用例:

我在服务器端有这些类。

class Individual {
protected String uri;
protected int id;
}

class Person extends Individual {
// Person properties like names, address etc
String type = "Person";
}

class Role extends Individual {
// Role properties like name, title etc
String type = "Role";
}

class Organization extends Individual {
// Org properties like name name, address etc
String type = "Organization";
}

我有一个类说Action,如下所示。

class Action {
String performedBy; // This can be any Individual
}

我有一个接受操作的 Controller 。我希望根据客户端发送的内容正确分配Individual。我的 Action 和其他类应该如何定义来实现此目的?

如果我发送以下内容,我希望 performedBy 成为 Person

{
"id": 10,
"uri":"uri_blah",
"lastname": "last_name",
"type":"Person"
}

最佳答案

@JsonType注释,它允许将类型序列化为属性:

@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "type")
@JsonSubTypes({
@Type(value = Person.class, name = "Person"),
@Type(value = Role.class, name = "Role")
// ...
})
public abstract class Individual {
// ...
}

关于java - 如何动态地将Json对象转换为Java对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42104774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com