利用Gson使json字符串与java bean/list/map之间的相互转换

来源:互联网 发布:淘宝客好赚钱吗 编辑:程序博客网 时间:2024/06/09 19:00

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转为jsonString s1 = gson.toJson(m1);System.out.println("简单Bean转化为Json===" + s1);// json转为简单BeanMember 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转为简单ListList<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转为简单MapMap<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转为简单Map2Map<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());}}


0 0
原创粉丝点击