如何用内部的动态重复量 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 作为您的回应。
我需要序列化并发送几个相同的 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 作为您的回应。