Gson使用三(Map集合的处理,一对多处理)

这篇博客介绍了如何使用Gson处理Map集合和一对多关系。在Map的转换中,Gson默认调用Key的toString方法,对于复杂对象可能需要启用复杂的Map键序列化。此外,还提供了一个User与Dept的一对多映射关系的实例。
摘要由CSDN通过智能技术生成

转载请出自出处:http://eksliang.iteye.com/blog/2175532

一、概述

       Map保存的是键值对的形式,Json的格式也是键值对的,所以正常情况下,map跟json之间的转换应当是理所当然的事情。

二、Map参考实例

package com.ickes.json;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.ickes.json.daomain.User;
/**
 * Gson对Map的处理
 * @author Ickes
 *
 */
public class MapTest {
	public static void main(String[] args) {
		/**
		 * 普通map处理
		 */
		Map<String,String> map = new HashMap<String,String>();
		map.put("name","ickes");
		map.put("pwd", "123");
		Gson gson = new GsonBuilder()
		.enableComplexMapKeySerialization()
		.setPrettyPrinting()
		.setDateFormat("yyyy-MM-dd HH:mm:ss")
		.create();
		//map的序列化
		String json=gson.toJson(map);
		System.out.println("map的序列化:\n"+json);
		//map的反序列化
		Type typeMap = new TypeToken<Map<String,String>>(){}.getType();
		map = gson.fromJson(json,typeMap);
		System.out.println("map的反序列化:");
		for (Map.Entry<String,String> entry: map.entrySet()) {
			System.out.println(entry.getKey()+"-"+entry.getValue());
		}
		
		/**
		 * /map对象测试
		 */
		Map<String,User> mapUser = new HashMap<String,User>();
		User user1 = new User("A001", "xl","xl_123",24,12000F,new Date());
		User user2 = new User("A002", "x2","xl_223",24,13000F,new Date
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值