目前版本的fastjon默认对enum对象使用WriteEnumUsingName属性,因此会将enum值序列化为其Name. 使用WriteEnumUsingToString方法可以序列化时将Enum转换为toString()的返回值:同时override toString函数能够将enum值输出需要的形式.但是这样做会带来一个问题,对应的反序列化使用的Enum的静态方法valueof可能无法识别自行生成的toString(),导致反序列化出错. 如果将节省enum序列化后的大小,可以将enu…
目的 1.枚举值转换成完全的json: 2.对象中的枚举成员完全转换成json: 3.枚举类的全部值转换成json: 枚举定义 public enum SongsEnum { SAFE_AND_SOUND(1,"Taylor Swift","Safe&Sound","2011-12-26") ,SHAKE_IT_OFF(2,"Taylor Swift","Shake It Off","20…
1. 什么是 序列化 和 反序列化 ?     序列化 (Serialization):将对象的状态信息转换为可以存储或传输的形式的过程.比如转化为二进制.xml.json等的过程. 在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象.一般的格式是与平台无关的二进制流,可以将这种二进制流持久保存在磁盘上,也可以通过网络将这种二进制流传输到另一个网络结点.  反序列化(Anti Serialization ):是指把这种二进制流…
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 16.0px SimSun; color: #4e9072 } 序列化流:把对象按照流一样的方式存入文本文件或者在网络中传输.  对象 -- 流数据(ObjectOutputStream) 反序列化流:把文本文件中的流对象数据或者网络中的流对象数据还原成对象.流数据 -- 对象(ObjectInputStream) 序列化流和反序列化流不同于字节流 字符流 内存字节流,这些都是把字符串写入/读取文件,序列…
Properties类 Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. 特点: 1.Hashtable的子类,map集合中的方法都可以用. 2.该集合没有泛型.键值都是字符串. 3.它是一个可以持久化的属性集.键值可以存储到集合中,也可以存储到持久化的设备(硬盘.U盘.光盘)上.键值的来源也可以是持久化的设备. 4.有和流技术相结合的方法. l  load(InputStream)  把指定流所对应的文件…
IO流--序列化流与反序列化流: 序列化流:把对象当做流一样写入到文本文件中 ObjectOutputSream(); 反序列化流:把文本文件中的流对象还原成对象ObjectInputSream(): 具体的使用: 1   创建java对象 实现序列化接口(Serializable): 序列化代码实现: private void writer() throws IOException { ObjectOutputStream oos = new ObjectOutputStream(new Fi…
Properties类 特点: 1.Hashtable的子类,map集合中的方法都可以用: 2.该集合没有泛型,键值都是字符串: 3.是一个可以持久化的属性集,键值可以存到集合中,也可存到持久化的设备上,键值的来源也可是持久化的设备: 4.有和流技术相结合的方法: 代码演示: public static void main(String[] args) { Properties pro=new Properties(); //存数据 pro.setProperty("driver",…
一.流的操作规律 四个明确: 明确一:明确要操作的数据是数据源还是数据目的地 源:InputStream   Reader 目的地:OutputStream Writer 先根据需求明确是要读还是写 明确二:明确要操作的数据是字节还是文件(字符) 源: 字节:InputStream 文件:Reader 目的地: 字节:OutputStream 文件:Writer 已经明确到了具体的体系上 明确三:明确数据所在的具体设备 源设备: 硬盘:文件  File开头. 内存:数组,字符串. 键盘:Syst…
序列化流与反序列化流 用于从流中读取对象的 操作流 ObjectInputStream    称为 反序列化流 用于向流中写入对象的操作流 ObjectOutputStream   称为 序列化流 l  特点:用于操作对象.可以将对象写入到文件中,也可以从文件中读取对象. 对象序列化流ObjectOutputStream ObjectOutputStream 将 Java 对象的基本数据类型和图形写入 OutputStream.可以使用 ObjectInputStream 读取(重构)对象.通过…
在写序列化serialize与反序列化unserialize()时,我们先来看看: serialize - 产生一个可存储的值的表示 描述 string serialize ( mixed $value ) serialize() 返回字符串,此字符串包含了表示 value 的字节流,可以存储于任何地方. 这有利于存储或传递 PHP 的值,同时不丢失其类型和结构. 想要将已序列化的字符串变回 PHP 的值,可使用 unserialize().serialize() 可处理除了 resource…