如何用内部的动态重复量 objects 来描述模型

How to describe the model with a dynamic amount of repetition objects inside

我需要序列化并发送几个相同的 object,但键名不同,这取决于它们的数量

{
  "object1": {
    "name": "random",
    "pass": true
  },
  "object2": {
    "name": "random",
    "pass": false
  },
  "object3": {
    "name": "random",
    "pass": true
  }
}

我将 Lombok @Builder + Jackson @JsonProperty 用于描述要发送的 body 模型,但不知道如何处理相同的 object 可能随着数字增加而多次添加的情况没有代码重复的键名,如下例所示。

@Builder
public class Sample {

    @JsonProperty("object1")
    private RandomObject object1;
    @JsonProperty("object2")
    private RandomObject object2;
    @JsonProperty("object3")
    private RandomObject object3;

}

你可以做到,

public class Sample {

    Map<String, RandomObject> objects = new HashMap<>();

    public void add(String key, RandomObject val) {
        objects.put(key, val);
    }

    @JsonAnyGetter
    public Map<String, RandomObject> getObjects() {
        return objects;
    }

}

您可以像这样创建回复,

RandomObject object1 = RandomObject.builder().name("John").pass(true).build();
RandomObject object2 = RandomObject.builder().name("Jane").pass(false).build();

Sample sample = new Sample();
sample.add("object1", object1);
sample.add("object2", object2);
return sample;

另请注意,您可以跳过创建此 Simple 对象并创建 Map 并将其 return 作为您的回应。