JAVA与JSON的序列化、反序列化
package com.linkage.app.memcache;
import java.util.HashMap;
import java.util.Map.Entry;
import net.sf.ezmorph.Morpher;
import net.sf.ezmorph.MorpherRegistry;
import net.sf.ezmorph.bean.BeanMorpher;
import net.sf.json.JSONObject;
import net.sf.json.util.JSONUtils;
import org.apache.taglibs.standard.lang.jpath.example.Person;
import com.linkage.app.vo.admin.ModuleRoleBean;
public class JsonTester {
public static void main(String[] args) {
HashMap<String, ModuleRoleBean> map = new HashMap<String, ModuleRoleBean>();
ModuleRoleBean bean = new ModuleRoleBean();
bean.setComments("fdsafsafsa");
bean.setModuleId(323);
bean.setModuleName("zhou");
// bean.setStateDate(new Date(System.currentTimeMillis()));
map.put("1", bean);
map.put("32", bean);
JSONObject jsonObject = JSONObject.fromObject(map);
String json = jsonObject.toString();
System.out.println(json);
System.out.println("################");
JSONObject fromObject = JSONObject.fromObject(json);
HashMap<String, ModuleRoleBean> retVal = (HashMap<String, ModuleRoleBean>) JSONObject.toBean(fromObject,
map.getClass());
MorpherRegistry morpherRegistry = JSONUtils.getMorpherRegistry();
Morpher dynaMorpher = new BeanMorpher(ModuleRoleBean.class, morpherRegistry);
morpherRegistry.registerMorpher(dynaMorpher);
for (Entry<String, ModuleRoleBean> entry : retVal.entrySet()) {
System.out.println("@@" + entry.getKey());
// System.out.println(entry.getValue().getClass());
System.out.println("@@" + entry.getValue());
System.out.println("@@" + morpherRegistry.morph(ModuleRoleBean.class, entry.getValue()));
System.out.println();
}
}
}