java - 有没有一种简单的方法可以使用 RestEasy 通过 JSON 传递对象集合?

标签 java json rest jax-rs resteasy

我目前正在使用 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\server\minimal","C:\jboss-4.2.2.GA\server\plu"]

最佳答案

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

关于java - 有没有一种简单的方法可以使用 RestEasy 通过 JSON 传递对象集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10592586/

相关文章:

asp.net - 来自根抛出异常的 ServiceStack REST API 路径变量

java - 保护 Jersey RESTful Web 服务

java - 启动画面中的 GIF 不流畅

java - Java 中的Character.isAlphabetic 和Character.isLetter 有什么区别?

php - 从 php 文件调用 JSON 到 HTML 页面

json - JSON 是否允许数字的正号?

java - 非静态方法

javascript - 如何将数据从 jsp 页面中的表单 onclick 发送到 servlet?

java - 没有固定 JSON 正文的 JAX-RS Restful POST

rest - LinkedIn API - 如何查询总连接数?