Когда я запускаю ваш код, он выводит:
java.util.LinkedHashMap@6500df86[
accessOrder=false
threshold=12
loadFactor=0.75
]
Что представляет собой строковое представление объекта Map, а не того, что внутри.
Трудный путь:
Если вы хотите использовать ReflectionToStringBuilder
, боюсь, вам придется реализовать свой собственный стиль, расширив ToStringStyle
.И ваш стиль должен был бы пройти по карте и извлечь ключи и значения.
Простой способ:
Однако вы можете достичь в значительной степени того, что вы хотите спростые циклы, и это намного проще, вот пример:
Map<String, List <Object>> user =
mapper.readValue(new File("/home/a/headers.yaml"), Map.class);
for(Map.Entry<String, List<Object>> entry : user.entrySet()) {
System.out.println(entry.getKey());
List<Object> values = entry.getValue();
if(values != null) {
for (Object value : values) {
System.out.println(" - " + String.valueOf(value));
}
}
}
Учитывая ваш файл, он выводит:
accept
- text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
accept-encoding
- gzip, deflate
accept-language
- en-GB,en-US;q=0.9,en;q=0.8
- ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7,lt;q=0.6
connection
- close
- keep-alive
dnt
- 1
referer
- https://www.google.com/
- https://www.yahoo.com
- https://www.bing.com/
upgrade-insecure-requests
- 1
- 0
x-real-ip