2015-01-14 22 views
0

我創建了一個RESTful服務女巫附加表名與GSON API生成JSON,但我在JSON結構的前需要表名,我不能證明這一點,讓我告訴代碼上GSON

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":"[email protected]","usr_pwd":"123456"}, 
    {"usr_id":2,"usr_login":"[email protected]","usr_pwd":"123456"} 
] 
} 

但回報,我得到的是:

[ 
    {"usr_id":1,"usr_login":"[email protected]","usr_pwd":"123456"}, 
    {"usr_id":2,"usr_login":"[email protected]","usr_pwd":"123456"} 
] 

即不帶表的名稱,但該名稱需要在我的SAPUI5應用

回答

1

什麼阻止你只需添加作爲String

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

雖然你一定要逃逸

否則,你就來介紹不同的返回對象

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

並使用

gson.toJson(new ReturnObject(usuariosList));