Мне нужно сериализовать POJO определенным образом. Я использую JAXB таким образом:Пользовательский сериализатор JAVA -> JSON (JAXB)
public void convertToJson(TaskActionData input) {
try {
JAXBContext context = JAXBContext.newInstance(TaskActionData.class);
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(MarshallerProperties.MEDIA_TYPE, "application/json");
marshaller.setProperty(MarshallerProperties.JSON_INCLUDE_ROOT, false);
marshaller.marshal(input, System.out);
} catch (JAXBException e) {
e.printStackTrace();
}
Right теперь им преобразования данного объекта в формате JSON в таком виде:
{
"name": "value",
"name": "value",
"name":
[ true,
false,
false,
false,
false,
false,
false,
false,
false
],
"name": {"name":
[{
"name": "value",
"name": [{
"name": "value",
"name": "value",
"name": "value"
}],
"name": [{
"name": "value",
"name": "value",
"name": "value",
"name": "value"
}],
"name": "value",
"name": [],
"name": [{
"name": "value",
"name": "value",
"name": "value"
}]
}]
}}
И мне нужно, чтобы каждый список заворачивают в «элементы», как ярлык что:
{
"name": "value",
"name": "value",
"name": {
"name": [],
"items": [
true,
false,
false,
false,
false,
false,
false,
false,
false
]
},
"name": {"name": {"items": [{
"name": "Tvalue",
"name": {"items": [{
"name": "value",
"name": "Bvalue",
"name": "value"
}]},
"name": {"items": [{
"name": "Tvalue",
"name": "value",
"name": "value",
"name": "value"
}]},
"name": "value",
"name": {"items": []},
"name": {"items": [{
"name": "value",
"name": "value",
"name": "value"
}]}
}]}}}
Таким образом, потребуется написать специальный сериализатор. Я пытался найти какое-то решение, но без успеха
* Так что будет нужно писать пользовательские сериалайзер. Я попытался найти какое-то решение, но без успеха * - Какие решения вы пробовали? Какие проблемы возникают с вашим пользовательским сериализатором? – Justin
Хмм я тоже не нашел никакого примера. Может быть, мне придется писать это с нуля :( –
Я решил это с заменой и регулярным выражением :) –