Jackson–将JSON字符串转换为Map

x33g5p2x  于2022-10-16 转载在 其他  
字(1.5k)|赞(0)|评价(0)|浏览(1697)

在这篇快速文章中,我将展示如何使用Jackson库将JSON字符串转换为JavaMap。
在Jackson中,我们可以使用mapper.readValue(json, Map.class)将JSON字符串转换为Map
我们正在使用Jackson库将JSON字符串转换为Map,所以让我们将下面的Jackson依赖项添加到项目的类路径或pom.xml中。

Maven pom依赖项

让我们首先将以下依赖项添加到pom.xml:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.8</version>
</dependency>

此依赖关系还将向类路径添加以下库:

jackson-annotations-2.9.8.jar
jackson-core-2.9.8.jar
jackson-databind-2.9.8.jar

对于Jackson数据绑定,请始终使用Maven中央存储库中的最新版本。

示例-将JSON字符串转换为Map

以下示例演示如何将JSON字符串转换为Map:

JacksonJsonToMap.java

package net.javaguides.jackson;

import java.io.IOException;
import java.util.Map;
import java.util.Map.Entry;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

public class JacksonJsonToMap {
    public static void main(String[] args) throws IOException {

        ObjectMapper mapper = new ObjectMapper();
        mapper.enable(SerializationFeature.INDENT_OUTPUT);

        String json = "{" +
            "  \"THU\" : 5," +
            "  \"TUE\" : 3," +
            "  \"WED\" : 4," +
            "  \"SAT\" : 7," +
            "  \"FRI\" : 6," +
            "  \"MON\" : 2," +
            "  \"SUN\" : 1" +
            "}";

        @SuppressWarnings("unchecked")
        Map < String, Integer > days = mapper.readValue(json, Map.class);

        for (Entry < String, Integer > day: days.entrySet()) {
            System.out.println(day.getKey() + "=" + day.getValue());
        }
    }
}

输出:

THU=5
TUE=3
WED=4
SAT=7
FRI=6
MON=2
SUN=1

相关文章

最新文章

更多