java - REST - 定义来自 Restful Java 服务的 JSON 数组的名称

标签 java json rest glassfish

我在 Glassfish 服务器中运行的 REST Java 服务中获得了以下函数:

serviceTest.java

@Path("/servicetest")
public class serviceTest{
    @GET
    @Path("/findall")
    @Produces(MediaType.APPLICATION_JSON)
    public List<Person> findAll(){
        List <Person> result = new ArrayList<>();
        result.add(new Person("1", "Charlie");
        result.add(new Person("2", "Mary");
        return result;
        }
    }

我还定义了一个类:

person.java

public class person {

    private String id;
    private String name;

    public person(String id, String name) {
        this.id = id;
        this.name = name;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

当我从客户端或 Web 浏览器调用 findAll() 函数时,我得到以下格式的 JSON 对象:

[
    {
        "id": "1",
        "name": "Charlie"    
    },

    {
        "id": "2",
        "name": "Mary"  
    }
]

但是我需要通过名称来识别 JSON 数组,如下所示:

{"person":
    [
        {
            "id": "1",
            "name": "Charlie"    
        },

        {
            "id": "2",
            "name": "Mary"  
        }
    ]
}

我怎样才能做到这一点...?提前致谢...

最佳答案

您可以将人员列表包装在 map 中:

public Map<String,List<Person>> findAll(){
    List <Person> list = new ArrayList<>();
    list.add(new Person("1", "Charlie");
    list.add(new Person("2", "Mary");
    LinkedHashMap<String,List<Person>> map = new LinkedHashMap<>();
    map.put("person", list);
    return map;
}

关于java - REST - 定义来自 Restful Java 服务的 JSON 数组的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35350184/

相关文章:

java - Hibernate:使用外键插入数据

java - 字符串数组大小和 for 循环访问元素

java - 使用 json-schema-validator 评估 JSON 文件模式

PHP 获取 JSON POST 数据

java - JsonMappingException : No suitable constructor found

Java REST API 查询注释

api - 如何分析 Laravel 的 REST API

java - Glide库报错: You cannot start a load from a destroyed Activity

JavaFX InputMap/ActionMap 等效吗?

java - 基于 URL 参数的 Spring Security REST API 角色