[英]How do I convert Json object to a Java object dynamically
這是我的用例:
我在服務器端有這些類。
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
}
我有一個接受Action
的控制器。 我希望根據客戶端發送的內容正確分配“ 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 {
// ...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.