package cn.aofeng.demo.json.gson; import java.lang.reflect.Type; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; /** * 集合的反序列化。 * * @author 聂勇 */ public class CollectionDeserialize { public T deserialize(String json, Type type) { Gson gson = new Gson(); return gson.fromJson(json, type); } public static void main(String[] args) { CollectionDeserialize cd = new CollectionDeserialize(); //整型List String intListJson = "[9,8,0]"; List intList = cd.deserialize( intListJson, new TypeToken>(){}.getType() ); System.out.println("---------- 整型List ----------"); for (Integer obj : intList) { System.out.println(obj); } // 字符串Set String strSetJson = "[\"Best\",\"World\",\"Hello\"]"; Set strSet = cd.deserialize( strSetJson, new TypeToken>(){}.getType() ); System.out.println("---------- 字符串Set ----------"); for (String str : strSet) { System.out.println(str); } // Map String objMapJson = "{\"xiaomin\":{\"name\":\"小明\",\"age\":21},\"marry\":{\"name\":\"马丽\",\"age\":20}}"; Map objMap = cd.deserialize( objMapJson, new TypeToken>(){}.getType() ); System.out.println("---------- Map ----------"); for (Entry entry : objMap.entrySet()) { System.out.println(entry); } } }