java将此字段转换为Map[{ "id": 1, "name": "Div.IC_ADS" }, { "id": 2, "name": "Div.IC_BIC" }]
时间: 2023-07-24 19:14:23 浏览: 88
要将该字段转换为`Map`,你需要将其表示为一个有效的JSON数组,并使用`Jackson`库进行解析。以下是一个示例代码:
```java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.List;
import java.util.Map;
public class JsonArrayToMapExample {
public static void main(String[] args) {
String json = "[{\"id\": 1, \"name\": \"Div.IC_ADS\"}, {\"id\": 2, \"name\": \"Div.IC_BIC\"}]";
ObjectMapper objectMapper = new ObjectMapper();
try {
List<Map<String, Object>> list = objectMapper.readValue(json, new TypeReference<List<Map<String, Object>>>() {});
// 将List转换为Map
Map<Integer, String> map = new HashMap<>();
for (Map<String, Object> item : list) {
int id = (int) item.get("id");
String name = (String) item.get("name");
map.put(id, name);
}
System.out.println(map);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的示例中,我们首先将JSON字符串表示为一个JSON数组。然后,我们使用`ObjectMapper`和`TypeReference`来解析JSON数组为`List<Map<String, Object>>`。接下来,我们将`List`中的每个元素的id和name提取出来,并将其放入一个新的`Map`对象中。最后,输出结果将会是`{1=Div.IC_ADS, 2=Div.IC_BIC}`。
确保在运行代码之前,你已经添加了`Jackson`库的依赖。
阅读全文