dal*_*rib 5 java json loops hashmap
我有一个 HashMap,需要将其解析为 JSON:
HashMap<String, Integer> worders = new HashMap<>();
Run Code Online (Sandbox Code Playgroud)
我需要将其解析为 JSON 对象数组。当前值:
{"and": 100},
{"the": 50}
Run Code Online (Sandbox Code Playgroud)
需要的JSON格式:
[
{"word": "and",
"count": 100},
{"word": "the",
"count": 50}
]
Run Code Online (Sandbox Code Playgroud)
我意识到我需要使用循环将其转换为正确的格式,但不确定从哪里开始或如何开始。
我还使用 ObjectMapper() 将其编写为 JSON,但是,这并没有纠正格式,感谢帮助。
您实际上不需要创建正式的 Java 类来执行此操作。我们可以尝试创建一个ArrayNode
,然后添加JsonNode
代表原始哈希图中每个条目的子对象。
HashMap<String, Integer> worders = new HashMap<>();
worders.put("and", 100);
worders.put("the", 50);
ObjectMapper mapper = new ObjectMapper();
ArrayNode rootNode = mapper.createArrayNode();
for (Map.Entry<String, Integer> entry : worders.entrySet()) {
JsonNode childNode = mapper.createObjectNode();
((ObjectNode) childNode).put("word", entry.getKey());
((ObjectNode) childNode).put("count", entry.getValue());
((ArrayNode) rootNode).add(childNode);
}
String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(rootNode);
System.out.println(jsonString);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2344 次 |
最近记录: |