Jackson-将Map转换为JSON对象

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

在这篇快速文章中,我将展示如何使用Jackson库将Map转换为JSON对象。
我们正在使用Jackson库将Java Map转换为JSON数组,所以让我们将以下Jackson依赖项添加到项目的类路径或pom.xml中。

Maven pom依赖项

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

  1. <dependency>
  2. <groupId>com.fasterxml.jackson.core</groupId>
  3. <artifactId>jackson-databind</artifactId>
  4. <version>2.9.8</version>
  5. </dependency>

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

  1. jackson-annotations-2.9.8.jar
  2. jackson-core-2.9.8.jar
  3. jackson-databind-2.9.8.jar

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

示例-将Map转换为JSON对象

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

JacksonMapToJson.java

  1. package net.javaguides.jackson;
  2. import java.util.Calendar;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import com.fasterxml.jackson.core.JsonProcessingException;
  6. import com.fasterxml.jackson.databind.ObjectMapper;
  7. import com.fasterxml.jackson.databind.SerializationFeature;
  8. public class JacksonMapToJson {
  9. public static void main(String[] args) throws JsonProcessingException {
  10. ObjectMapper mapper = new ObjectMapper();
  11. mapper.enable(SerializationFeature.INDENT_OUTPUT);
  12. Map < String, Integer > days = new HashMap < > ();
  13. days.put("MON", Calendar.MONDAY);
  14. days.put("TUE", Calendar.TUESDAY);
  15. days.put("WED", Calendar.WEDNESDAY);
  16. days.put("THU", Calendar.THURSDAY);
  17. days.put("FRI", Calendar.FRIDAY);
  18. days.put("SAT", Calendar.SATURDAY);
  19. days.put("SUN", Calendar.SUNDAY);
  20. String json = mapper.writeValueAsString(days);
  21. System.out.println(json);
  22. }
  23. }

输出:

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

相关文章