List 杰克逊&x2B;Jersey返回根名称为“的列表”;列表“;

List 杰克逊&x2B;Jersey返回根名称为“的列表”;列表“;,list,element,jersey,root,jackson,List,Element,Jersey,Root,Jackson,我目前正在尝试使用Jackson和Jersey创建一个序列化POJO对象的系统,我的资源如下: @Path("/OrganicasFuncao") 公共类资源{ public OrganicasFuncaoResource() { // TODO Auto-generated constructor stub } @GET @Produces(MediaType.APPLICATION_JSON) @Path("/getAllOrganicasFuncao") public Lis

我目前正在尝试使用Jackson和Jersey创建一个序列化POJO对象的系统,我的资源如下:

@Path("/OrganicasFuncao")
公共类资源{

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;
}
public organisasFuncaoResource(){
//TODO自动生成的构造函数存根
}
@得到
@产生(MediaType.APPLICATION_JSON)
@路径(“/getAllOrganicasFuncao”)
公共列表getOrganizasFuncao(){
列出Organizas;Organizas=newArrayList();
//虚拟数据
organicas.add(fillOrganicaFuncao(111123,“Funço Assim”,“2010-12-23”);
organicas.add(fillOrganicaFuncao(113124,“Funço Assada”,“2000-05-21”);
organicas.add(fillOrganicaFuncao(113125,“Funço Meio termo”,“2002-12-23”);
organicas.add(fillOrganicaFuncao(112126,“Funço Mal Passada”,“2011-06-14”);
添加(fillOrganicaFuncao(112127,“Funço Bem Passada”,“2006-02-01”);
添加(fillOrganicaFuncao(111128,“Função Crua”,“2003-04-07”);
添加(fillOrganicaFuncao(113127,“Função Queimadinha”,“2006-02-01”);
organicas.add(fillOrganicaFuncao(113128,“Funço Tostada”,“2003-04-07”);
返回Organas;
}
私有OrganicaFuncaoMobileEntity fillOrganicaFuncao(int-id、int-idOrg、字符串设计、字符串数据转换){
OrganicaFuncaoMobileEntity orgFunc=新的OrganicaFuncaoMobileEntity();
orgFunc.SetDataAlteraco(DataAlteraco);
orgFunc.setdesignaco(designaco);
组织功能设置id(id);
orgFunc.setIdOrganica(idOrg);
返回orgFunc;
}
}

这将返回:

{ “列表”:[{ “设计”:“乐趣§§¨o Assim”, “idOrganica”:123, “DataAlteraco”:“2010-12-23”, “id”:111 }, { “设计”:“阿萨达的乐趣”, “idOrganica”:124, “DataAlteraco”:“2000-05-21”, “身份证”:113 }, { “设计”:“乐趣§§¨我爱你”, “idOrganica”:125, “DataAlteraco”:“2002-12-23”, “身份证”:113 }, { “设计”:“乐趣§§¨o Mal Passada”, “idOrganica”:126, “DataAlteraco”:“2011-06-14”, “身份证”:112 }, { “设计”:“乐趣§§¨o Bem Passada”, “idOrganica”:127, “DataAlteraco”:“2006-02-01”, “身份证”:112 }, { “设计”:“趣味盎然”, “idOrganica”:128, “DataAlteraco”:“2003-04-07”, “id”:111 }, { “设计”:“乐趣§§¨o奎马迪尼亚”, “idOrganica”:127, “DataAlteraco”:“2006-02-01”, “身份证”:113 }, { “设计”:“乐趣§§¨o托斯塔达”, “idOrganica”:128, “DataAlteraco”:“2003-04-07”, “身份证”:113 } ] }


如何用我自己的名字来更改“列表”名称?我尝试过使用几个注释,比如@jsonTypeName或@jsonTypeInfo,但都不起作用……

为Jackson添加依赖项。Jackson是Jersey支持的一个很好的JSON序列化程序/反序列化程序。它不需要序列化/反序列化类上的任何注释,只需将它们定义为“结构”:

如果让字段成为公共的,则不需要getter和setter。您需要的依赖项可以在此处找到:。不需要额外的配置,Jersey将检测它是否在类路径上


您遇到的问题可能是由Jersey默认的OOTB JSON序列化/反序列化引起的。

为Jackson添加依赖项。Jackson是Jersey支持的一个很好的JSON序列化程序/反序列化程序。它不需要序列化/反序列化类上的任何注释,只需将它们定义为“结构”:

如果让字段成为公共的,则不需要getter和setter。您需要的依赖项可以在此处找到:。不需要额外的配置,Jersey将检测它是否在类路径上


您遇到的问题可能是Jersey默认的OOTB JSON序列化/反序列化造成的。

您是否将Jersey配置为使用Jackson,因为默认情况下,它使用JAXB。您提供的输出类型似乎与JAXB有关,而不是与Jackson有关。您是否已将Jersey配置为使用Jackson,因为默认情况下,它使用JAXB。您提供的输出类型似乎与JAXB有关,而与Jackson无关。
public class Person {
    public String name;
    public int age;
}