java中string str = "{"k1":"v1","k2":"v2"}", 怎么转为map
时间: 2023-07-29 17:11:07 浏览: 58
你可以使用 JSON 解析库将字符串转换为 Map 对象。在 Java 中,常用的 JSON 解析库有 Jackson、Gson 和 Fastjson 等。以下是使用 Gson 库将字符串转换为 Map 的示例代码:
```java
import com.google.gson.Gson;
import java.lang.reflect.Type;
import java.util.Map;
public class Main {
public static void main(String[] args) {
String str = "{\"k1\":\"v1\",\"k2\":\"v2\"}";
// 使用 Gson 解析字符串为 Map
Gson gson = new Gson();
Type type = new com.google.gson.reflect.TypeToken<Map<String, String>>(){}.getType();
Map<String, String> map = gson.fromJson(str, type);
// 输出结果
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
}
}
```
上述代码中,我们使用了 Gson 库的 `fromJson` 方法将字符串 `str` 解析为指定的 `Map<String, String>` 类型。然后,我们可以通过遍历 Map 来访问键值对。
请确保在使用该代码时已添加 Gson 库的依赖。你可以在 Maven 或 Gradle 中添加以下依赖:
Maven:
```xml
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.8</version>
</dependency>
```
Gradle:
```groovy
implementation 'com.google.code.gson:gson:2.8.8'
```
这样就可以成功将包含 JSON 格式的字符串转换为 Map 对象了。