У меня есть новое требование, я создаю REST API с динамическим запросом (действиями), и я хочу преобразовать этот запрос JSON в POJO, я знаю, как преобразовать JSON в POJO, где ключи одинаковы, но не уверен, что делать, когда есть различное содержимое на объектах.
Мой Json выглядит следующим образом.
{
"name":"Workflow",
"actions": [
{
"name": "EDIT_PROPERTY",
"payload": {
"name": "city",
"value": "Pune"
}
},
{
"name":"SEND_EMAIL",
"payload":{
"from":"[email protected]",
"to":"[email protected]",
"subject":"Try email",
"body":"content"
}
},
{
"name":"CREATE_TASK",
"payload":{
"user":1,
"type":"call",
"status":"open",
"note":"This is note content"
}
}
]
}
Как вы можете видеть, действия представляют собой набор объектов, у которых есть имя и полезная нагрузка, теперь полезная нагрузка имеет разные поля, у меня есть предопределенные имена. и каждая полезная нагрузка в действии имеет предопределенные ключи, как вы видите.
Я хочу преобразовать это в POJO что-то вроде
class Workflow{
String name;
Set<Action> actions;
}
class Action {
String name;
//What to add as payload
}
Спасибо
Алпеш
Jackson
(JDK 1.8) для десериализации поляpayload
вMap<String, Object>
, как прокомментировал @SKumar, и он отлично работает без каких-либо ошибок. - person LHCHIN   schedule 08.10.2020