java字符串序列化_java对象序列化为字符串
1 场景
java对象某些时候,需要序列化成字符串存储在数据库中,需要的时候,再将字符串反序列化为java对象。
如使用shiro缓存分布式session,需要将session对象序列化成字符串存储在redis中,来达到分布式应用共享session的功能。
为什么不序列化成json?
java对象同样可以转换为json,需要的时候,再转换为java对象。这种情况一般只适用转换自己创建的javaBean对象,如果类是非自己管理的javaBean,对象内部存在没有对外开放set/get方法的属性,转换后将丢失。
序列化自己javaBean对象的好处是,通过序列化后的json字符串,可以很清楚知道被序列化的java对象的内容。
2 应用
2.1 过程描述
序列化过程:
(1)java对象通过对象输出流ObjectOutputStream,写入到内存字节数组输出流ByteArrayOutputStream中
(2)通过内存字节数组输出流ByteArrayOutputStream获取字节数组byte[]
(3)字节数组根据自定义算法转换成字符串(hex/base64等)
反序列化过程:
(1)被序列化后字符串,根据字节数组转换字符串的算法,转换为字节数组byte[]
(2)字节数组通过内存字节数组输入流ByteArrayInputStream写入到对象输入流ObjectInputStream
(3)通过对象输入流ObjectInputStream读取java对象
2.2 字节数组、字符串转换
字节数组转码成字符串依赖如下maven包:
java字符串序列化_java对象序列化为字符串相关推荐
- c#将对象序列化为字符串和将字符串反序列化为对象
asp.net开发中,页面间传值最长用到的是url显式传参,session,application和cookie传值等.对于复杂对象页面传值,如果不考虑性能影响的话,通常可以使用session或者ap ...
- 将对象序列化为字符串
本文翻译自:Serialize an object to string I have the following method to save an Object to a file: 我有以下方法将 ...
- java对象序列化为字符串
文章目录 1 场景 2 应用 2.1 过程描述 2.2 字节数组.字符串转换 2.2.1 hex转码 2.2.2 base64转码 2.3 对象序列化字节数组 2.3.1 使用commons-lang ...
- java 嵌套对象序列化_在javascript中将复杂的,嵌套的,用户定义的对象序列化为字符串...
是的,所以's kind of like you'重新序列化对象数据,而不是类数据 . 变量仍然存在,但关于类的元数据(即方法)没有被保留 . 一个解决方案可能是serialijse . serial ...
- java字典序列化_Java对象序列化,Serialize Java Data Object,音标,读音,翻译,英文例句,英语词典...
补充资料:对象化 标志人类有目的的对象性活动的过程及其结果的哲学范畴.马克思用这个范畴揭示劳动的实现.劳动物化为对象的事实.劳动的实现意味着创造一定的产品,而劳动的产品就是固定在某个对象中物化为对象的 ...
- Java对象序列化乱码6_对象序列化成字符串乱码解决
问题描述: 将一个对象序列化成字符串后,字符串是乱码的,并且反序列化报错. 代码如下: import com.alibaba.fastjson.JSONObject; import org.sprin ...
- js对象序列化为json字符串
网上找了找将js对象序列化为json字符串的方法.结果都不近人意,最后自己写了一个. 注意你得自己为Date增加toString()方法. function Serialize(obj){switch ...
- JavaScriptSerializer-枚举的JSON序列化为字符串
我有一个包含enum属性的类,并在使用JavaScriptSerializer序列化对象后,我的json结果包含枚举的整数值,而不是其string " name". 有没有一种方法 ...
- C#序列化反序列化对象为base64字符串
2019独角兽企业重金招聘Python工程师标准>>> 之所以序列化为base64 字符串 方便传输,可存储在本地 也可以是服务器 public class Serializer{p ...
最新文章
- java静态代理与动态代理
- First Chapter--Getting Started With Testing
- 你一定不能错过,Java视频全套
- 最清晰的讲解各种梯度下降法原理与Dropout
- Java基础篇(02):特殊的String类,和相关扩展API
- html常用标签6-表单标签
- Maven实战. 3.7NetBeans Maven插件简单使用
- 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0, Culture=neutral,解决
- ios java 加密_AES加密 - iOS与Java的同步实现
- Git_从远程库克隆
- SpaceBase – 基于 Sass 的响应式 CSS 框架
- git中Bash基本操作命令
- Windows-局域网文件服务器文件共享软件 FtpServer
- React中ref的三种获取方式
- vision-transformer(b站霹雳吧啦博主)
- 解决File “D:\ProgramData\Anaconda3\lib\site-packages\keras\engine\saving.py“,相关问题
- Kali——绕过杀毒软件检测工具Veil-Evasion
- freeswitch mrcp 源码分析--数据包的发送
- liquibase-数据库脚本升级管理
- 100 句,读 到 哪 一 句 你 难 过 了?