Jackson-将Map转换为JSON对象

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

在这篇快速文章中,我将展示如何使用Jackson库将Map转换为JSON对象。
我们正在使用Jackson库将Java Map转换为JSON数组,所以让我们将以下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中央存储库中的最新版本。

示例-将Map转换为JSON对象

以下示例显示如何使用ObjectMapper.writeValueAsString()方法将Map转换为JSON对象。

JacksonMapToJson.java

package net.javaguides.jackson;

import java.util.Calendar;
import java.util.HashMap;
import java.util.Map;

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

public class JacksonMapToJson {

    public static void main(String[] args) throws JsonProcessingException {

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

        Map < String, Integer > days = new HashMap < > ();
        days.put("MON", Calendar.MONDAY);
        days.put("TUE", Calendar.TUESDAY);
        days.put("WED", Calendar.WEDNESDAY);
        days.put("THU", Calendar.THURSDAY);
        days.put("FRI", Calendar.FRIDAY);
        days.put("SAT", Calendar.SATURDAY);
        days.put("SUN", Calendar.SUNDAY);

        String json = mapper.writeValueAsString(days);
        System.out.println(json);
    }
}

输出:

{
  "THU" : 5,
  "TUE" : 3,
  "WED" : 4,
  "SAT" : 7,
  "FRI" : 6,
  "MON" : 2,
  "SUN" : 1
}

相关文章

微信公众号

最新文章

更多