JAVA与JSON的序列化、反序列化

时间:2023-02-09 22:14:16

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

JAVA与JSON的序列化、反序列化的更多相关文章

  1. java Serializable和Externalizable序列化反序列化详解--转

    一.什么是序列化? “对象序列化”(Object Serialization)是 Java1.1就开始有的特性. 简单地说,就是可以将一个对象(标志对象的类型)及其状态转换为字节码,保存起来(可以保存 ...

  2. java Serializable和Externalizable序列化反序列化详解&lpar;转载&rpar;

    一.什么是序列化? “对象序列化”(Object Serialization)是 Java1.1就开始有的特性. 简单地说,就是可以将一个对象(标志对象的类型)及其状态转换为字节码,保存起来(可以保存 ...

  3. java io流与序列化反序列化

    java的io是实现输入和输出的基础,可以方便的实现数据的输入和输出操作. 序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入 ...

  4. 二进制数据的序列化反序列化和Json的序列化反序列化的重要区别

    前言:最近一个一个很奇怪的问题,很明白的说,就是没看懂,参照下面的代码: /// <summary> /// 反序列化对象 /// </summary> /// <typ ...

  5. &period;NET Core protobuf-net、MessagePack、Json&period;NET序列化&sol;反序列化性能测试

    测试代码Zonciu/SerializationTest.cs, 源自neuecc/ZeroFormatterBenchmark.cs. NuGet包及其版本 mgravell/protobuf-ne ...

  6. Redis安装 java中的连接 序列化 反序列化

    安装路径 /webapp/redis/redis- #启动redis /webapp/redis/redis-/src/redis-server & #关闭redis /webapp/redi ...

  7. 项目收集-AutoMapper使用,事务,Json&period;Net序列化反序列化,代码生成调用等

    using System; using AutoMapper; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace Console ...

  8. 05-06 Flutter JSON和序列化反序列化、创建模型类转换Json数据、轮播图数据渲染&colon;Flutter创建商品数据模型 、请求Api接口渲染热门商品 推荐商品

    Config.dart class Config{ static String domain='http://jd.itying.com/'; } FocusModel.dart class Focu ...

  9. Newtonsoft&period;Json&period;Linq 序列化 反序列化等知识

    1.反序列化实体类 //使用JObject读写字符串:JObject j = JObject.Parse(data);IEnumerable<JProperty> properties = ...

随机推荐

  1. 【xargs使用】查询包含某字符串的所有文件

    在initrd目录下,查找包含"Loading virtio.ko"的所有文件 cd initrd find . | xargs grep "Loading virtio ...

  2. css样式表:样式分类,选择器。样式属性,格式与布局

    样式表分类: 1.内联样式表, 和html联合显示,例:<p style="font-size:14px;">内联样式表</p> 2.内嵌样式表 作为一个独 ...

  3. offsetParent 到底是哪一个?

    前言 温故而知新.遇到offsetParent这个知识点,发现书上讲的不够详细.于是看了看豪情的博客,发现讲得很具体,收藏一下. 正文 不同情况 没有已定位的父节点,且自身position:relat ...

  4. Assets&period;car 解压工具 cartool 使用报错 segmentation fault cartool 解决方案

    1  cartool 下载地址 https://github.com/steventroughtonsmith/cartool 由于在macOS Mojave系统上 之前代码会报错需要修改main.m ...

  5. HTTP是什么连接

    ① 在HTTP/1.0中,默认使用的是短连接. 但从 HTTP/1.1起,默认使用长连接,用以保持连接特性. ②http长连接并不是一直保持连接 http的长连接也不会是永久保持连接,它有一个保持时间 ...

  6. You Don&&num;39&semi;t Know JS&colon; Async &amp&semi; Performance&lpar;第2章,Callbacks&rpar;

    Chapter 2: Callbacks. Callbacks are by far the most common way that asynchrony in JS programs is exp ...

  7. Andrew Ng-ML-第十七章-推荐系统

    1.问题规划  图1.推荐系统在研究什么? 例子:预测电影的评分. 当知道n_u用户数,n_m电影数:r(i,j)用户j评价了电影i,那么就是1:y(i,j)如果r(i,j)为1,那么就给出评分. 问 ...

  8. Centsos7修改密码

    CentOS 7.0 进入单用户模式修改Root密码 时间:2017-05-02 01:10来源:blog.csdn.net  作者:海哥_大大的Java 举报   点击:506次 一.启动时,随便按 ...

  9. 最近项目和java对接,涉及到java的DESede加解密算法

    google后找到这个作者的一篇博客,搬过来用 http://hersface.com/page/17.html <?php class DESede{ /** * 加密 * @param $d ...

  10. 使用Quartz&period;Net同时执行多个任务

    在Quartz.Net中可能我们需要在某一时刻执行多个任务操作,而又不想创建多个任务.Quartz.Net为我们提供了多个ScheduleJob的重载来实现多个一次执行多个任务. // 创建一个组任务 ...