利用Gson使json字符串與java bean/list/map之間的相互轉換

public class GsonPracticeUtil {  
    public static void main(String[] args) {  
        Gson gson = new Gson();  
        Member m1 = new Member();  
        m1.setDisPlayName("m1");  
        m1.setEmail("1@qq.com");  
        m1.setSex(Sex.Male);  
        System.out.println("----------簡單對象之間的轉化-------------");  
        // 簡單的bean轉爲json  
        String s1 = gson.toJson(m1);  
        System.out.println("簡單Bean轉化爲Json===" + s1);  
  
        // json轉爲簡單Bean  
        Member member = gson.fromJson(s1, Member.class);  
        System.out.println("Json轉爲簡單Bean===" + member);  
        Member m2 = new Member();  
        m1.setDisPlayName("m2");  
        m1.setEmail("2@qq.com");  
        m1.setSex(Sex.Female);  
        List<Member> mList = new ArrayList<>();  
        mList.add(m1);  
        mList.add(m2);  
        String s2 = gson.toJson(mList);  
        System.out.println("簡單List轉化爲Json===" + s2);  
  
        // json轉爲簡單List  
        List<Member> memberList = gson.fromJson(s2,  
                new TypeToken<List<Member>>() {  
                }.getType());  
        for (Member m : memberList)  
            System.out.println("Json轉爲簡單list===" + m);  
  
        Map<String, Member> strMemberMap = new HashMap<>();  
        strMemberMap.put("member1", m1);  
        strMemberMap.put("member2", m2);  
        String s3 = gson.toJson(strMemberMap);  
        System.out.println("簡單map轉化爲Json===" + s3);  
  
        // json轉爲簡單Map  
        Map<String, Member> map = gson.fromJson(s3,  
                new TypeToken<Map<String, Member>>() {  
                }.getType());  
        for (Entry<String, Member> entry : map.entrySet())  
            System.out.println("Json轉爲簡單map===" + entry.getKey() + "     "  
                    + entry.getValue());  
        Map<Member, String> mStrMap = new HashMap<>();  
        mStrMap.put(m1, "memberString1");  
        mStrMap.put(m2, "memberString2");  
        String s4 = new GsonBuilder().enableComplexMapKeySerialization()  
                .create().toJson(mStrMap);  
        System.out.println("簡單map2轉化爲Json===" + s4);  
  
        // json轉爲簡單Map2  
        Map<Member, String> map2 = gson.fromJson(s4,  
                new TypeToken<Map<Member, String>>() {  
                }.getType());  
        for (Entry<Member, String> entry : map2.entrySet())  
            System.out.println("Json轉爲簡單map2===" + entry.getKey() + "     "  
                    + entry.getValue());  
    }  
}

另外有幾個網頁的GSON的例子不少很詳細,能夠參考一下:json

http://blog.csdn.net/lk_blog/article/details/7685210ui

http://penghuaiyi.iteye.com/blog/1922632spa

http://blog.csdn.net/onlyonecoder/article/details/16907713.net

相關文章
相關標籤/搜索