1. 程式人生 > >jfinal中model轉map的方法實現

jfinal中model轉map的方法實現

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.jfinal.plugin.activerecord.Model;

public class JsonToMapUtil {

	/**
	 * model轉換為map
	 * 
	 * @param model
	 * @return
	 * @author: Jerri Liu
	 * @date: 2014年3月30日下午5:18:35
	 */
	public static Map<String, String> JsonToMap1(Model<Model> model) {
		String jmodel = model.toJson();
		Gson gson = new Gson();
		net.sf.json.JSONObject jsonmap = gson.fromJson(jmodel,
				net.sf.json.JSONObject.class);
		return JsonAndMapAndJavaBean.jsonToMap(jsonmap);
	}

	/**
	 * model轉換為map
	 * 
	 * @param model
	 * @return
	 * @author: Jerri Liu
	 * @date: 2014年3月30日下午5:17:33
	 */
	public static Map<String, String> JsonToMap2(Model<Model> model) {
		String jmodel = model.toJson();
		Gson gson = new Gson();
		Map<String, String> jsonmap = gson.fromJson(jmodel,
				new TypeToken<Map<String, String>>() {
				}.getType());
		return jsonmap;
	}

	/**
	 * 將json物件轉換成Map
	 * 
	 * @param jsonmap
	 * @return
	 * @author: Jerri Liu
	 * @date: 2014年3月30日下午5:17:33
	 */
	@SuppressWarnings("unchecked")
	public Map<String, String> jsonToMap(net.sf.json.JSONObject jsonmap) {
		Map<String, String> map = new HashMap<String, String>();
		Iterator<String> iterator = (Iterator<String>) jsonmap.keys();
		String key = null;
		String value = null;
		while (iterator.hasNext()) {
			key = iterator.next();
			try {
				value = jsonmap.getString(key);
			} catch (Exception e) {
				e.printStackTrace();
			}
			map.put(key, value);
		}
		return map;
	}
}

jfinal中將model轉換為map