Java對象序列化和反序列化程序:Xson
1. 項目介紹
Xson是一個Java對象序列化和反序列化程序。支持Java對象到字節數組的序列化,和從字節數組到Java對象的反序列化。
2. 支持的對象類型
- 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
3. 在maven中如何配置xson依賴
<dependency>
<groupId>com.github.xsonorg</groupId>
<artifactId>xson-core</artifactId>
<version>1.0.1</version>
</dependency>
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中添加用戶自定義的POJO類型(請在使用序列化的反序列化之前操作)
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);
2.用戶自定義Serializer
public class CustomerSerializer implements XsonWriter {
@Override
public void write(Object target, ByteModel model) {
// Implementation code
}
}
3.用戶自定義Deserializer
public class CustomerDeserializer implements XsonReader {
@Override
public Object read(ReaderModel model) {
// Implementation code
return null;
}
}
4.在xson中添加用戶自定義的Serializer和Deserializer
XsonSupport.addCustomSupportType(XUser1.class, new CustomerSerializer(), new CustomerDeserializer());
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!