在GSON上附加表名

时间:2015-01-14 13:14:23

标签: json gson

我创建了一个宁静的服务女巫用GSON api生成JSON,但我需要在JSON结构前面的表名,我不能显示这个,让我显示代码

package webService;

import java.util.ArrayList;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

import com.google.gson.Gson;

import model.AccessManager;
import dto.Usuarios;

@Path("/UsuariosService")
public class UsuariosService
{
    @GET
    @Path("/usuarios")
    @Produces("application/json")
    public String usuarios()
    {
        String usuarios = null;
        ArrayList<Usuarios> usuariosList = new ArrayList<Usuarios>();
        try
        {
            usuariosList = new AccessManager().getUsuarios();
            Gson gson = new Gson();
            usuarios = gson.toJson(usuariosList);

        } catch (Exception e)
        {
                e.printStackTrace();
        }
        return usuarios;
    }
}

我需要的回报是:

{
 "usuarios" : [
  {"usr_id":1,"usr_login":"teste@gmail.com","usr_pwd":"123456"},
  {"usr_id":2,"usr_login":"teste@teste.com.br","usr_pwd":"123456"}
 ]
}

但我得到的回报是:

[
  {"usr_id":1,"usr_login":"teste@gmail.com","usr_pwd":"123456"},
  {"usr_id":2,"usr_login":"teste@teste.com.br","usr_pwd":"123456"}
]

即。没有表的名称,但我的SAPUI5应用程序中需要该名称

1 个答案:

答案 0 :(得分:1)

什么阻止您将其添加为String

"{\"usuarios\" :" + gson.toJson(usuariosList) + "}"

虽然你需要逃避&#34;

否则你必须引入一个不同的返回对象

class ReturnObject {
   List<Usuarios> usuarios;       
   public ReturnObject(List<Usuarios> usuarios) {
       this.usuarios = usuarios;
   }
}

并使用

gson.toJson(new ReturnObject(usuariosList));