在这篇快速文章中,我将展示如何使用Jackson库将JSON字符串转换为JavaMap。
在Jackson中,我们可以使用mapper.readValue(json, Map.class)
将JSON字符串转换为Map
我们正在使用Jackson库将JSON字符串转换为Map,所以让我们将下面的Jackson依赖项添加到项目的类路径或pom.xml中。
让我们首先将以下依赖项添加到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:
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
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.javaguides.net/2019/07/jackson-convert-json-string-to-map.html
内容来源于网络,如有侵权,请联系作者删除!