使用jettison json提供程序使用jaxb映射列表

时间:2011-12-11 21:56:24

标签: json jboss jaxb resteasy jettison

我有一个方法

@GET
@Produces("application/json")
public List<Conversation> getMyConversations() { /* ... */ }

json输出类似于

[{"conversation" : { ... }}, {"conversation" : { ... }}]

但是,我想输出这个

"conversations" :  [{"conversation" : { ... }}, {"conversation" : { ... }}]

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:0)

这似乎是JBoss RestEasy的行为方式:http://docs.jboss.org/resteasy/docs/2.2.1.GA/userguide/html_single/index.html#json_list

我已经看到这种方法通过将列表作为另一个类的成员返回来解决,例如

@XmlRootElement(name = "ConversationSet")
public class ConversationSet {
    private Set<Conversation> sonversations;
    // getters and setters...
}

这将产生如下内容:

   {
     "conversationSet": 
     {
       "conversations" :  [{"conversation" : { ... }}, {"conversation" : { ... }}]
     }
   }

更接近大多数客户对JSON的期望。