В моем веб-сервисе REST на основе Джерси мне нужно предоставить вывод в формате xml и json. Класс Результат имеет карту, аннотированную XmlJavaTypeAdapter для правильной сериализации в xml.
@XmlRootElement
public class Result {
private Map<String,Integer> results = new HashMap<String, Integer>();
public Result(){}
@XmlJavaTypeAdapter(ResultMapAdapter.class)
public Map<String,SearchResult> getResults() {
return results;
}
}
Вывод XML выглядит следующим образом:
<results>
<result><name>Key1</name><value>Value1</value>
<result><name>Key2</name><value>Value2</value>
</results>
И вывод json выглядит как
"result":[{
"name": "Key1",
"value": Value1
},{
"name": "Key2",
"value": Value2
}]
Но я хочу, чтобы это выглядело так:
"result":{
"Key1": Value1,
"Key2": Value2
}
Если я удалю аннотацию XMlRootElement и XmlJavaTypeAdapter, вывод json будет выглядеть так, как я хотел, но затем сериализация xml не удалась. Есть ли обходной путь?