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();
        }
    }
}

posted @ 2014-07-09 09:40  黑格  阅读(1625)  评论(0编辑  收藏  举报