2011-05-24 51 views
2

林目前正在爲採用序列傑克遜和新澤西州,在這裏我的資源POJO對象建立一個系統:傑克遜+澤西返回列表與根名稱「列表」

@Path("/OrganicasFuncao") 

公共類OrganicasFuncaoResource {

public OrganicasFuncaoResource() { 
    // TODO Auto-generated constructor stub 
} 

@GET 
@Produces(MediaType.APPLICATION_JSON) 
@Path("/getAllOrganicasFuncao") 

public List<OrganicaFuncaoMobileEntity> getOrganicasFuncao(){ 

    List<OrganicaFuncaoMobileEntity> organicas; organicas= new ArrayList<OrganicaFuncaoMobileEntity>(); 

    //dummy data 
    organicas.add(fillOrganicaFuncao(111,123,"Função Assim","2010-12-23")); 
    organicas.add(fillOrganicaFuncao(113,124,"Função Assada","2000-05-21")); 
    organicas.add(fillOrganicaFuncao(113,125,"Função Meio termo","2002-12-23")); 
    organicas.add(fillOrganicaFuncao(112,126,"Função Mal Passada","2011-06-14")); 
    organicas.add(fillOrganicaFuncao(112,127,"Função Bem Passada","2006-02-01")); 
    organicas.add(fillOrganicaFuncao(111,128,"Função Crua","2003-04-07")); 
    organicas.add(fillOrganicaFuncao(113,127,"Função Queimadinha","2006-02-01")); 
    organicas.add(fillOrganicaFuncao(113,128,"Função Tostada","2003-04-07")); 


    return organicas; 
} 

private OrganicaFuncaoMobileEntity fillOrganicaFuncao(int id, int idOrg, String designacao, String dataAlteracao){ 

    OrganicaFuncaoMobileEntity orgFunc= new OrganicaFuncaoMobileEntity(); 
    orgFunc.setDataAlteracao(dataAlteracao); 
    orgFunc.setDesignacao(designacao); 
    orgFunc.setId(id); 
    orgFunc.setIdOrganica(idOrg); 

    return orgFunc; 
} 

}

這將返回:

{ 「列表」:[{ 「designacao」: 「FunçãøAssim」, 「idOrganica」:123, 「dataAlteracao」: 「2010-12-23」, 「ID」:111 }, { 「designacao」: 「FunçãøAssada」, 「idOrganica」:124, 「dataAlteracao」: 「2000年5月21日」, 「ID」:113 },{ 「designacao」: 「Funçãø名韋TERMO」, 「idOrganica」:125, 「dataAlteracao」: 「2002-12-23」, 「ID」:113 },{ 「designacao」:「Funçã o Mal Passada「, 」idOrganica「:126, 「dataAlteracao」: 「2011-06-14」, 「ID」:112 },{ 「designacao」: 「Funçãø貝姆Passada」, 「idOrganica」:127, 「dataAlteracao」: 「2006-02-01」, 「id」:112 },{ 「designacao」:「Funçã£o Crua」, 「idOrganica」:128, 「dataAlteracao」:「2003-04-07 」, 「ID」:111 },{ 「designacao」: 「FunçãøQueimadinha」, 「idOrganica」:127, 「dataAlteracao」: 「2006-02-01」, 「ID」 :113 },{ 「designacao」:「Funç㣠ØTostada」, 「idOrganica」:128, 「dataAlteracao」: 「2003-04-07」, 「ID」:113 }]}

我怎樣才能改變 「清單」 的名字與一些我自己的?我嘗試了使用@jsonTypeName或@jsonTypeInfo等幾個註釋,但那不起作用....

+1

您是否配置Jersey以使用Jackson,因爲默認情況下它使用JAXB。你給出的輸出類型似乎與JAXB有關,而不是Jackson。 – 2011-06-20 16:08:28

回答

0

爲Jackson添加依賴關係。 Jackson是Jersey支持的一個很好的JSON串行器/解串器。它不需要在串行/解串類的任何註釋,只是將它們定義爲「結構」:

public class Person { 
    public String name; 
    public int age; 
} 

,如果你讓你的領域是public它不需要getter和setter方法。您需要的依賴關係可以在這裏找到:http://mvnrepository.com/search.html?query=com.fasterxml.jackson.core。不需要額外的配置,如果它在classpath上,Jersey會檢測到它。

您遇到的問題可能是由JERSeys默認的OOTB JSON序列化/反序列化引起的。