版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_38001814/article/details/87165158
map与json互转可以利用fastJson类库或者jackson类库进行转换,map与string互转利用谷歌的guava类库进行转换,guava是一款功能强大的类库工具,感觉每个java开发人员都应熟悉下.. 下面先贴pom依赖,
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.48</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
<scope>compile</scope>
</dependency>
代码:
Map<String, String> map = Maps.newHashMap();
map.put("key01","value01");
map.put("key02","value02");
map.put("key03","value03");
try {
System.out.println("map :" + map);
// 利用jackson进行互转
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(map);
System.out.println("map to json 1 :" + json);
// 利用fastJson进行互转
Object o = JSONObject.toJSON(map);
System.out.println("map to json 2 :" + o.toString());
System.out.println("json to map 1 :" + mapper.readValue(json, Map.class));
System.out.println("json to map 2 :" + JSON.parseObject(json, Map.class));
String mapToStr = Joiner.on(",").withKeyValueSeparator(":").join(map);
System.out.println("map to str :" + mapToStr);
// 利用Splitter内部类的引用,得到分割器,将字符串解析为map
Splitter.MapSplitter ms = Splitter.on(",").withKeyValueSeparator(":");
System.out.println("str to map :" + ms.split(mapToStr));
} catch (Exception e) {
}
输出如下图: