在 Java 中,将 JSON 字符串转换为 Map 可以使用多种方式。下面我将介绍两种常见的实现方式,包括使用原生的 Java 类库和使用第三方库(如 Jackson)。
步骤流程:
示例代码:
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonReader;
import java.io.StringReader;
import java.util.HashMap;
import java.util.Map;
public class JsonToMapExample {
public static void main(String[] args) {
String jsonString = "{\"key1\": \"value1\", \"key2\": \"value2\"}";
try (JsonReader jsonReader = Json.createReader(new StringReader(jsonString))) {
JsonObject jsonObject = jsonReader.readObject();
Map<String, String> map = new HashMap<>();
jsonObject.forEach((key, value) -> map.put(key, value.toString()));
System.out.println(map);
}
}
}
步骤流程:
Maven 依赖:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.0</version>
</dependency>
Gradle 依赖:
implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.0'
示例代码:
import com.fasterxml.jackson.databind.ObjectMapper;
import java.util.Map;
public class JsonToMapExample {
public static void main(String[] args) throws Exception {
String jsonString = "{\"key1\": \"value1\", \"key2\": \"value2\"}";
ObjectMapper objectMapper = new ObjectMapper();
Map<String, String> map = objectMapper.readValue(jsonString, Map.class);
System.out.println(map);
}
}
这两种方式都可以将 JSON 字符串转换为 Map 数据结构,你可以根据项目的需要选择其中一种方式。原生 Java 方式更轻量,而使用 Jackson 则提供更多的高级功能和配置选项。