jackson string转map

在Java中,我们可以使用Jackson库将JSON字符串转换为Map对象。下面是使用Jackson实现将JSON字符串转换为Map的示例代码:

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.Map;
public class JsonUtils {
    private static final ObjectMapper objectMapper = new ObjectMapper();
    public static Map<String, Object> jsonToMap(String jsonStr) throws IOException {
        return objectMapper.readValue(jsonStr, new TypeReference<Map<String, Object>>() {});

上面的代码中,我们首先创建了一个ObjectMapper对象。然后,我们定义了一个静态方法jsonToMap,该方法将JSON字符串作为参数传入,并返回一个Map对象。

在方法内部,我们使用objectMapper.readValue方法将JSON字符串转换为Map对象。我们使用TypeReference类来指定Map的键和值的类型。在这个例子中,我们使用Map<String, Object>来表示键值对应的类型,即String类型的键和Object类型的值。

如果JSON字符串不符合指定的格式,或者在转换过程中发生任何错误,将会抛出IOException异常。因此,我们在方法签名中声明了一个throws IOException子句,以便在调用方处理这种异常。

使用这个jsonToMap方法,我们可以很方便地将JSON字符串转换为Map对象。例如,我们可以使用以下代码将JSON字符串转换为Map对象:

String jsonString = "{\"name\":\"张三\",\"age\":18}";
Map<String, Object> map = JsonUtils.jsonToMap(jsonString);
System.out.println(map);

输出结果为:

{name=张三, age=18}

上面的示例代码中,我们将一个JSON字符串{"name":"张三","age":18}转换为一个Map对象,并将其打印到控制台。

  •