Как мне создать следующий json, используя java-классы и конструктор lombok?
Я использовал json для инструмента pojo и создал 2 класса: Entry.java
и Testplan.java
, добавил метод для преобразования String
json и ему удалось получить объект json: {"suite_id":99,"name":"Some random name"}
Я не понимаю, как создать объект, который будет выглядеть следующим образом:
{
"name": "System test",
"entries": [
{
"suite_id": 1,
"name": "Custom run name"
},
{
"suite_id": 1,
"include_all": false,
"case_ids": [
1,
2,
3,
5
]
}
]
}
Testplan.java
@Data
@Builder
public class Testplan {
@JsonProperty("name")
public String name;
@JsonProperty("entries")
public List<Entry> entries = null;
}
Entry.java
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Entry {
@JsonProperty("suite_id")
public Integer suiteId;
@JsonProperty("name")
public String name;
@JsonProperty("include_all")
public Boolean includeAll;
@JsonProperty("case_ids")
public List<Integer> caseIds = null;
}
Я конвертирую String в json, используя это:
public <U> String toJson(U request) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper()
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
return mapper.writeValueAsString(request);
}
Вот как я начал создавать объект и застрял:
public static Entry getRequestTemplate() {
Entry entry = new Entry();
entry.setName("Here's some name");
entry.setSuiteId(16);
return entry;
}
Чтобы увидеть, что происходит, я добавил это:
@Test
public void showJson() throws JsonProcessingException {
String json = toJson(getRequestTemplate());
System.out.println(json);
}
Я ожидаю, что мне придется объединить эти два класса и создать список case_ids
, но я не могу обернуть его вокруг.