【发布时间】:2019-07-09 21:18:22
【问题描述】:
我目前正在地图中保存 JSON 响应,并且正在努力迭代嵌套的 HashMap 值。例如:
- 索引 0
-
索引 1 -> 键:“示例”:
- 键:“示例 2”
-
值“示例 3”(ArrayList)
- 键、值... (HashMap)
我的地图是这样的:
HashMap<Object, Object> map = (HashMap< Object, Object >) result.getBody();
从以下 Spring Boot ResponseEntity 保存结果:
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<Object> result = restTemplate.exchange(url, HttpMethod.GET,
entity, Object.class);
并迭代我正在做的第一组索引:
for (Map.Entry<Opportunities, Opportunities> entry : resultMap.entrySet()) {
System.out.println(entry.getValue());
}
如何迭代索引 1 中的值?我已经尝试适应 this solution 但没有运气。 提前致谢。
编辑 - JSON 响应如下所示:
{
"metadata": {
"page": 0,
"pageSize": 1,
"pageCount": 10,
"totalCount": 10
},
"Users": [
{
"ID": 1216411,
"name": "John",
"name": "John",
"Order_Details": {
"id": 1216411234,
"item": "Electric Razer",
"region": {
"name": "United States",
"regionCode": "US"
}
},
"Suppliers": [
...
【问题讨论】:
-
你的地图的Object值是什么类型的结构? List
、Set 等? -
您不应该使用 Maps 的索引,因为它们不保证任何顺序(尤其是 HashMap)。因此,您的问题看起来像XY problem。试着解释一下你真正想做什么,因为目前你可能走错了方向。
-
@WJS 它作为 LinkedHashMap 返回。 Pshemo 我从一个响应实体得到一个 JSON 响应,为了让我能够操作,我被建议将响应存储在 Object.class 中,然后使用 Map 来存储响应。谢谢
-
如果您需要有关如何遍历它的帮助,请向我们展示 JSON。您的“格式化”示例无法解释。至少,我不知道该项目符号列表的 JSON / Map 是什么。
-
@Andreas 我添加了一个 JSON 示例,该示例是 Spring Boot 中的响应实体方法返回的 JSON。谢谢