Идея состоит в том, чтобы создать HashMap с массивами в виде списка,
Arrays.asList(new HashMap<String, Object>()
Полный код ниже:
Map<String, Object> map = new HashMap<>();
map.put("name", "John");
map.put("lname", "Smith");
map.put("age", "25");
HashMap<String,Object> address=new HashMap<>();
address.put("streetAddress", "123 Civil lines");
address.put("city", "Delhi");
map.put("address", address);
map.put("phoneNumbers", Arrays.asList(new HashMap<String, Object>() {
{
put("type", "home");
put("number", "212 555-1234");
}},new HashMap<String, Object>() {{
put("type", "fax");
put("number", "646 555-4567");
}}
));
String json = new ObjectMapper().writerWithDefaultPrettyPrinter().writeValueAsString(map);
System.out.println(json)
Это сгенерирует вывод в json, но не в тот же заказ, что и json, который вы разместили, если вам нужен тот же заказ, используйте LinkedHashMap