Я пытаюсь выполнить пользовательскую сериализацию Gson, чтобы создать объект Json для отправки в службу, за исключением некоторых полей, которые неизвестны во время выполнения.
json, который я хочу создать, должен выглядеть примерно так:
{
"type": "configuration/entityTypes/HCP",
"attributes": {
"FirstName": [
{
"type": "configuration/entityTypes/HCP/attributes/FirstName",
"value": "Michael"
}
]
},
"crosswalks": [
{
"type": "configuration/sources/AMA",
"value": "10000012"
}
]
}
Я могу успешно создать этот json с помощью Gson, но проблема в том, что у меня есть тысячи полей, которые могутнаходиться под объектом атрибутов, в этом примере есть только FirstName
, но если бы я делал создание, было бы столько атрибутов, сколько этот человек, место или вещь связали с ними.
Потому что в настоящее время я могу создать это с помощью Gson, имея 4 разных класса:
- Тип
- Атрибуты
- Имя_провода
- Crosswalks
Но я хочу иметь возможность иметь FirstName, LastName, MiddleName и т. Д. Все под объектом атрибутов, не создавая отдельный класс Java для всех них.В этом случае json будет выглядеть следующим образом:
{
"type": "configuration/entityTypes/HCP",
"attributes": {
"FirstName": [
{
"type": "configuration/entityTypes/HCP/attributes/FirstName",
"value": "Doe"
}
],
"LastName": [
{
"type": "configuration/entityTypes/HCP/attributes/LastName",
"value": "John"
}
],
"MiddleName": [
{
"type": "configuration/entityTypes/HCP/attributes/MiddleName",
"value": "Michael"
}
]
},
"crosswalks": [
{
"type": "configuration/sources/AMA",
"value": "10000012"
}
]
}
Есть ли способ использовать Gson для создания объекта атрибутов без создания объектов Java для всех различных имеющихся у меня атрибутов?