1. Xson 介绍
Xson是一个Java对象序列化和反序列化程序。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。
地址:https://github.com/xsonorg/xson
2.应用场景
可用于网络传输和Java系统间通讯等。
3.支持的对象类型
1.Java POJO对象
2.基本类型:byte,short,int,long,float,double,boolean,char
3.包装类型:Byte,Short,Integer,Long,Float,Double,Boolean,Character
4.String
5.Collection
6.Map
7.Enum
8.TimeZone
9.Class
10.BigDecimal
11.BigInteger
12.Class
13.StringBuffer
14.StringBuilder
15.URI
16.URL
17.UUID
18.Locale
19.Currency
20.TimeZone
21.java.util.Date
22.java.sql.Date
23.java.sql.Time
24.java.sql.Timestamp
25.InetAddress
26.Inet4Address
27.Inet6Address
28.InetSocketAddress
4.使用示例
1.使用xson进行对象到字节数组的序列化
User user = new User(); //set.... byte[] data = XSON.write(user);
2.使用xson进行字节数组到对象的反序列化
//byte[] data = XSON.write(user); User user = XSON.parse(data);
5.用户扩展
1.在xson中添加用户对象类型的描述和其Key值
Map<String, String> prop = new HashMap<String, String>(); prop.put("org.xson.testmodel.XUser7", "x7"); prop.put("org.xson.testmodel.XUser6", "x6"); XsonSupport.addCustomAgreementType(prop);
说明:由于xson序列化后的byte[]中保存Class信息用以用于反序列化操作,比如一个POJO对象User,
全类名比如叫:org.xson.api.User,那么XSON.write(user)到达的byte[]中则保存着"org.xson.api.User"的
描述,但由于"org.xson.api.User"需要占用数个字节,为了减少byte[]体积,因此可使用上述方式通过给出
一个key值来代替"org.xson.api.User",以实现缩小体积的目标。
注意:
1.请在使用序列化的反序列化之前操作
2.如果序列化的结果用作双方通讯,请确保使用双方对象类型和Key值的一致性
2.用户自定义序列化器
public class CustomerSerializer implements XsonWriter { @Override public void write(Object target, ByteModel model) { // Implementation code } }
3.用户自定义反序列化器
public class CustomerDeserializer implements XsonReader { @Override public Object read(ReaderModel model) { // Implementation code return null; } }
4.在xson中添加用户自定义的序列化器和反序列化器
XsonSupport.addCustomSupportType(XUser1.class, new CustomerSerializer(), new CustomerDeserializer());
希望感兴趣的朋友能够参与和关注此项目,同时也希望得到大家的建议和帮助。
通讯邮箱:xson_org@126.com
感谢:本项目的实现参考Fastjson的原理和部分结构,感谢Fastjson的开源和其作者。
相关推荐
Xson是一个Java对象序列化和反序列化程序。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 Maven: <groupId>com.github.xsonorg</groupId> <artifactId>xson-core <version>1.0.1 ...
文档编写了序列化与反序列化的类,并附带了对应的XML文件,包括一个窗口按钮的触发演示,供... 1.XmlSerialization:执行序列化和反序列化的类 2.serializeXML:需要序列化的对象格式,决定了生成XML格式的。
xSON将网络管理的多个环节,如网络规划、调测、配置、运营、优化和管理等,通过智能化和自动化的方式进行了整合,大大减轻了人工操作的负担,同时提高了网络管理的效率和精确度。 具体来说,xSON的自配置功能可让新...
该项目是一款基于Java语言的XSON通用对象设计源码,包含50个文件,涵盖40个Java源文件、3个PNG图片文件、2个Markdown文件、2个XML文件、1个Git忽略文件、1个LICENSE文件、1个MF文件,旨在提供一种高效的对象表示和...
支持基于XSON序列化框架实现 提供基于Feign的RestService动态创建 提供基于easyjson的编码器,解码器 集成负载均衡功能 提供多种param Expander 筛选器: 访问日志过滤器 编码过滤器 rr过滤器 全局响应过滤器 休息...
var xson = require ( 'xson-lib' ) ; var json = xson . toJson ( xml_string ) ; var json_string = json . stringify ( json ) ; var xml = xson . toXml ( json_jsonstring , beautifier [ bool ] )
TFBGA封装提供了更高的集成度和更低的外形尺寸,适用于需要小型化设计的应用。 #### 四、操作模式 1. **读取模式**:支持单线、双线和四线SPI读取方式,其中四线模式可以实现最高25MHz的时钟频率。 2. **写入模式*...
- WSON 6x5-mm & USON 2x3-mm/4x3-mm, XSON 4x4-mm封装:这些是小型表面贴装封装,适合紧凑型和高密度电路板设计。 - WLCSP封装:球栅阵列封装,进一步减小了设备的体积。 4. 引脚描述: - /CS (Chip Select):...
- **操作模式:**通过向Command引脚发送特定的指令序列来执行相应的操作。 综上所述,W25Q32JVSSIQ是一款高性能、高可靠性的3V 32M-Bit串行闪存,支持双SPI和四SPI操作模式,并提供多种封装形式以适应不同的应用...
开发者需要编写函数来控制SPI总线,执行读写操作,如初始化SPI接口、发送命令序列、读取或写入数据块等。C语言的灵活性和广泛适用性使其成为与硬件交互的理想选择。 总结来说,W25Q16是一款高性能、高可靠性的串行...
- **串行数据输入/输出(DI, DO 和 IO0, IO1, IO2, IO3)**:用于数据的读取和写入操作。 - **写保护(/WP)**:用于设置写保护功能,防止未经授权的数据写入。 - **HOLD(/HOLD)**:用于暂停正在进行的操作。 - **串行...
- **WSON 6x5-mm**、**USON 2x3-mm/4x3-mm**、**XSON 4x4-mm**:小型化封装,适用于空间受限的应用场景。 - **WLCSP**:晶圆级芯片尺寸封装,最小化了封装尺寸,适用于追求极致紧凑的设计。 #### 四、引脚描述 - *...
本文档是关于Flash_W25Q32JV数据手册的知识点总结,涵盖了Flash_W25Q32JV的概述、特性、包装类型和引脚配置、引脚描述、工作模式、读写操作、电气特性等方面的详细信息。 一、概述 Flash_W25Q32JV是一个3V 32M-BIT...
8. **紧凑封装**:采用SOIC、WSON、XSON、TFBGA 和 WLCSP 等封装形式,适合各种空间受限的应用场合。 #### 三、封装类型及引脚配置 ##### 1. SOIC 208-mil 封装 - **引脚配置**:包括电源引脚、地址输入/输出引脚...
沿用2G和3G网络中的传统网络规划,已经不再现实,此时,一个化繁为简、提升网络容量和保障网络质量的SON(自组织网络)就显得尤为必要。 SON是指网络具有一系列的自主智能功能,比如自我配置、自我规划、
- **WSON 6x5-mm & USON 2x3-mm/4x3-mm, XSON 4x4-mm**: - 小型封装形式,适用于空间受限的应用场合。 - 提供紧凑的封装尺寸,同时保持良好的电气性能。 - **WLCSP**: - 超小型封装,特别适合于便携式设备和高...
- **WLCSP**:晶圆级芯片尺寸封装,进一步减小了封装体积,适用于微型化的产品设计。 #### 四、引脚描述 - **SOIC 208-mil, WSON 6x5-mm/ 8x6-mm, XSON 4x4-mm**:这些封装类型的引脚描述相似,主要包括 Vcc(电源...
6. **多种封装类型**:包括SOIC 208-mil、WSON 6x5-mm/8x6-mm、XSON 4x4-mm和TFBGA 8x6-mm等封装选项。 #### 三、封装类型与引脚配置 1. **SOIC 208-mil** - **引脚配置**:参见手册具体细节。 - **引脚描述**:...
沿用2G和3G网络中的传统网络规划,已经不再现实,此时,一个化繁为简、提升网络容量和保障网络质量的SON(自组织网络)就显得尤为必要。 SON是指网络具有一系列的自主智能功能,比如自我配置、自我规
- WSON封装提供6x5mm和8x6mm两种尺寸,XSON封装为4x4mm,适用于空间有限的应用。 - PDIP封装有300-mil引脚,适合于传统电路板设计。 - TFBGA封装和WLCSP封装则提供了更紧凑的解决方案,尤其适合高密度、小型化的...