List 杰克逊&x2B;Jersey返回根名称为“的列表”;列表“;
我目前正在尝试使用Jackson和Jersey创建一个序列化POJO对象的系统,我的资源如下: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
@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;
}