String类型的json转成map
时间: 2023-11-08 14:10:03 浏览: 86
您可以使用Jackson库将String类型的JSON转换成Map对象。以下是Java代码示例:
```java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
// 定义json字符串
String jsonString = "{\"name\": \"张三\", \"age\": 20}";
// 初始化ObjectMapper对象
ObjectMapper objectMapper = new ObjectMapper();
// 将json字符串转换成Map对象
Map<String, Object> map = objectMapper.readValue(jsonString, new TypeReference<Map<String, Object>>(){});
// 输出转换后的Map对象
System.out.println(map);
```
请注意,此示例代码假定将JSON字符串转换为Map<String, Object>对象。如果您的JSON字符串与此不同,则需要相应地调整代码。另外,请确保在使用Jackson库时导入正确的库。
相关问题
string类型的json转成map
将string类型的json转成map,可以使用Java中的json库,比如Jackson、Gson等。
以Jackson为例,可以使用ObjectMapper类的readValue方法将json字符串转成Map对象,示例代码如下:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.Map;
public class JsonToMapDemo {
public static void main(String[] args) throws IOException {
String jsonStr = "{\"name\":\"张三\",\"age\":18,\"gender\":\"男\"}";
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> map = objectMapper.readValue(jsonStr, Map.class);
System.out.println(map);
}
}
```
输出结果为:
```
{name=张三, age=18, gender=男}
```
其中,jsonStr为待转换的json字符串,Map<String, Object>为转换后的Map对象。注意,这里使用了Object类型作为Map的value类型,因为json中的值可以是任意类型。如果需要指定Map的value类型,可以使用TypeReference类,示例代码如下:
```java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.Map;
public class JsonToMapDemo {
public static void main(String[] args) throws IOException {
String jsonStr = "{\"name\":\"张三\",\"age\":18,\"gender\":\"男\"}";
ObjectMapper objectMapper = new ObjectMapper();
Map<String, String> map = objectMapper.readValue(jsonStr, new TypeReference<Map<String, String>>() {});
System.out.println(map);
}
}
```
输出结果为:
```
{name=张三, age=18, gender=男}
```
其中,new TypeReference<Map<String, String>>() {}表示将Map的value类型指定为String类型。
怎么把string类型的json转成map
将String类型的JSON转换成Map,可以使用各种编程语言提供的JSON处理库。以Java语言为例,可以使用如`org.json`库或者`com.google.gson`库中的方法来完成转换。以下是使用`org.json`库中的`JSONObject`类将JSON字符串转换为Map的示例代码:
```java
import org.json.JSONObject;
import java.util.Map;
import java.util.HashMap;
public class JsonToMap {
public static void main(String[] args) {
String jsonString = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
JSONObject jsonObject = new JSONObject(jsonString);
Map<String, Object> map = new HashMap<String, Object>();
for (String key : jsonObject.keySet()) {
map.put(key, jsonObject.get(key));
}
System.out.println(map);
}
}
```
在上面的代码中,首先创建了一个`JSONObject`实例,并传入了JSON格式的字符串。之后创建了一个`HashMap`来存储转换后的键值对。通过遍历`JSONObject`的键集,可以将每个键值对添加到Map中。
阅读全文