Я хочу, чтобы JSON (ObjectNode - Jackson) выглядел примерно так:
{
"familyName":"Turing",
"sex": "MALE",
"givenName":"Alan",
"dateOfBirth":"1912-06-23",
"address":{
"postalCode":"1111",
"country":"Country",
"state":"State",
"city":"City",
"street":"Street",
"houseNumber":"1111"
}
}
Это прекрасно работает для меня, если у меня нет вложенной карты (в этом примере: адрес)внутри JSON с этим шагом реализации:
public void testMethond(ExamplesTable table) {
assertThat(table.getRowCount()).isEqualTo(1);
Map<String, String> row = table.getRow(0);
ObjectNode userNode = new ObjectMapper().createObjectNode();
for (Map.Entry<String, String> entry : row.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
userNode.put(key, value);
}
}
Он был написан до java8, поэтому набор записей (но вы можете использовать stream в своем ответе c) и это не будет работать для примеров таблиц с более чем 1 строкой.
Мой вопрос заключается в том, каков наилучший способ получить пошаговую реализацию, аналогичную моей, которая может создать JSON в качестве моего желаемого.
Мой текущий обходной путь теперь заключается в том, чтобы иметь другой вариант Когда в моемсценарий со своими собственными examplesTable для адресных данных и userNode.set ("address", addressNode) в реализации, но я не думаю, что это хороший способ сделать это.