【问题标题】:Is there an easy way to pass a collection of objects via JSON using RestEasy?有没有一种简单的方法可以使用 RestEasy 通过 JSON 传递对象集合?
【发布时间】:2012-05-15 00:04:10
【问题描述】:

我目前正在使用 RestEasy 和 Angular.js。我正在尝试返回具有 json 中所有属性的对象集合或数组。但是当我执行下面的方法时,它只返回字符串格式的文件名的 JSON 结果。但我希望返回 File 类的所有属性。有没有一种简单的方法可以用 RestEasy 在 JSON 中做到这一点?

@GET
@Produces("application/json")
@Path("/details/{location}")
public File[] getFolderDetails(@PathParam("location") String location) {
    //List<File> folders = new ArrayList<File>();
    File folder = new File(DIRECTORY_LOCATION + "/" + location);
    File[] listOfFiles = folder.listFiles();
    File folders[] = new File[listOfFiles.length];
    int index = 0;
    for (File listOfFile : listOfFiles) {
        folders[index] = listOfFile;
        index++;
    }
    return folders;
}

目前此方法返回如下内容:

["C:\jboss-4.2.2.GA\server\all","C:\jboss-4.2.2.GA\server\default","C:\jboss-4.2.2.GA\服务器\minimal","C:\jboss-4.2.2.GA\server\plu"]

【问题讨论】:

    标签: java json rest jax-rs resteasy


    【解决方案1】:

    RESTEasy 可以处理基本的 java 对象,所以我会尝试使用 Map:

    @GET
    @Produces("application/json")
    @Path("/details/{location}")
    public List<Map<String, Object>> getFolderDetails(@PathParam("location") String location) {
        File folder = new File(DIRECTORY_LOCATION + "/" + location);
        File[] listOfFiles = folder.listFiles();
        List<Map<String, Object>> folders = new ArrayList<Map<String, Object>>();
        for (File file : listOfFiles) {
            Map<String, Object> item = new LinkedHashMap<String, Object>();
            item.put("name", file.getName());
            item.put("size", file.length());
            item.put("lastModified", file.lastModified());
            // etc, adding things that have values from java.lang.* package
            folders.add(folder);
        }
        return folders;
    }
    

    【讨论】:

      猜你喜欢
      • 2011-06-03
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 2015-05-12
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      相关资源
      最近更新 更多