这里使用到Google的Gson的jar
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
代码如下:
package com.chaomeng.oamanage.dao;
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.util.*;
public class Maintest {
public static void main(String[] args) {
Map<String , Object> map = new HashMap<>();
map.put("name","张三");map.put("age",21); map.put("address","长沙");
System.out.println(new Gson().toJson(map)); //map转Gson
Map<String , Object> map1 = convertJson1(new Gson().toJson(map)); //Gson转map
for (Map.Entry<String, Object> entry : map1.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
Map<String , Object> map2 = convertJson2(new Gson().toJson(map));
for (Map.Entry<String, Object> entry : map2.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
}
//方法二
public static Map<String , Object> convertJson2(String jsonData){
return new Gson().fromJson(jsonData , Map.class);
}
//方法一 Gson -》 map
public static Map<String , Object> convertJson1(String jsonData){
Map<String , Object> map = new HashMap<>();
JsonParser parser = new JsonParser();
JsonElement jsonElement = parser.parse(jsonData);
JsonObject jsonObject = jsonElement.getAsJsonObject();
Set<String > sets = jsonObject.keySet();
Iterator<String > iterator = sets.iterator();
while (iterator.hasNext()){
String key = iterator.next();
String value = jsonObject.get(key).getAsString();
map.put(key ,value);
}
return map ;
}
}