【发布时间】:2011-12-20 23:49:35
【问题描述】:
在我基于 Jersey 的 REST Web 服务中,我需要提供 xml 和 json 输出。 Result 类有一个映射,用 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 序列化失败了。有解决办法吗?
【问题讨论】: