如何生成 JSON_OBJECT 而不是 JSON_ARRAY 作为我的 API 查询的结果

How can I produce a JSON_OBJECT instead of JSON_ARRAY as result to my API queries

一段时间以来,我一直在为这个问题而苦苦挣扎 我已经提炼了一个简短的样本来产生我的结果

当 Spring-Boot 产生 api 输出并且有多个记录时,它被包含为 JSON_ARRAY 以 [ 开始并以 ] 结束,并以逗号分隔 JSON_OBJECTS里面

我希望结果被另一个 JSON_OBJECT 包围 {实体:[{.....},{.....}]}

例如

[
    {
        "locationId": "l1",
        "locationName": "New York"
    },
    {
        "locationId": "l3",
        "locationName": "London"
    }
]

必须变成

{
location:{
    [{
      "locationId": "l1",
      "locationName": "New York"
     },
     {
      "locationId": "l3",
      "locationName": "London"
     }]
}}

public class Location {
   private String id;
   private String name;
}
// Getter & Setters etc ommited

很明显,我已经用谷歌搜索了这个并尝试了很多解决方案,但找不到任何解决方案

如果我加上"org.springframework.boot:spring-boot-starter-data-rest" 到我的项目 spring 将为我的实体创建一些端点,这些端点实际上会产生所需的结果,但是我有一些被排除在外的非标准查询,我需要自己做

如果你能教我克服这个困难,我将不胜感激

创建一个class如下:

public class LocationWrapper {
    private List<Location> location;
}

和 return 来自 @RestController 方法的 LocationWrapper 实例。