在 GSON 上附加 table 名称

Append table name on GSON

我创建了一个 restful 服务 使用 GSON api 生成 JSON,但我需要 table 名称在 [=23] 前面=] 结构,我不能显示这个,让我显示代码

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;
    }
}

我需要的return是:

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

但是我得到的return是:

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

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

是什么阻止您将其添加为 String

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

虽然需要转义

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

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

并使用它

gson.toJson(new ReturnObject(usuariosList));