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字符串与java bean/list/map之间的相互转换
最新推荐文章于 2025-02-12 14:04:47 发布