谷歌GSON的字符与对象的互转
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.google.common.reflect.TypeToken; import com.google.gson.Gson; /** * 〈一句话功能简述〉<br> * 〈功能详细描述〉 * * @author yangzhilong * @see [相关类/方法](可选) * @since [产品/模块版本] (可选) */ public class MyTest { @SuppressWarnings("serial") public static void main(String[] args) { //对象转JSON字符串 Map<String,String> map = new HashMap<String,String>(); map.put("key", "value"); List<String> list = new ArrayList<String>(); list.add("obj1"); System.out.println(new Gson().toJson(map)); System.out.println(new Gson().toJson(list)); //JSON转对象 String mapJson = "{\"key1\":\"value1\"}"; map = new Gson().fromJson(mapJson, new TypeToken<Map<String,String>>(){}.getType()); System.out.println(map.get("key1")); String listJson = "[\"obj22\",\"obj33\",\"obj44\"]"; list = new Gson().fromJson(listJson, new TypeToken<List<String>>(){}.getType()); System.out.println(list.get(1)); //普通对象直接使用class标识就能转换了 //new Gson().fromJson("json String", xxxObject.class); } }
运行结果:
{"key":"value"} ["obj1"] value1 obj33