如何在XML中将HashMap键呈现为属性?

时间:2017-09-04 14:41:03

标签: java json xml jaxb jackson

我有一个包含HashMap的简单Bean。我的目标是显示带有键值引用的JSON列表。

问题:我想使用同一个对象同时显示XML输出。但是地图的键被转换为xml 元素,这不是我想要的。我希望地图键是XML中的属性。

这是否可以在不必重写代码的情况下实现(我希望不必为json和xml创建不同的对象)?

public class MyResponse {
    private Map<String, Obj> rooms;
}

渲染:

@RestController
public class MyServlet {
    @GetMapping("/")
    public MyResponse rsp() {
        return rsp;
    }
}

作为JSON:

"A11": {
  ...
},
"A12": {
  ...
}

作为XML:

<A11>
  ...
</A11>
<A12>
  ...
</A12>

我想要的XML:

<room type="A11">
  ...
</room>

0 个答案:

没有答案