java反序列化php序列化的对象
来源:互联网 发布:seo分享ppt 编辑:程序博客网 时间:2024/05/24 07:21
最近工作中遇到一个需要解析php序列化后存入DB的array,
1
2
a:
4
:{i:
0
;a:
2
:{s:
11
:
"province"
;s:
8
:
"0016"
;s:
7
:
"img"
;s:
49
:
"20150117105023_kk-1.jpg"
;}
i:
1
;a:
2
:{s:
11
:
"province"
;s:
8
:
"0017"
;s:
7
:
"img"
;s:
49
:
"20150117105025_kk-1.jpg"
;}}
而我们项目是使用java,就需要反序列化,还好有一个第三方类库可以使用,项目地址:http://www.phprpc.org/zh_CN/docs/
<dependency> <groupId>org.sction</groupId> <artifactId>phprpc</artifactId> <version>3.0.2</version></dependency>
使用时,需要知道被序列化的对象是单个对象还是被以array的形式序列化的
若是单个对象,直接可以反序列化
public static Test getUnserialize(String content) throws Exception { PHPSerializer p = new PHPSerializer(); if (StringUtils.isEmpty(content)) return null; Test t = (Test) p.unserialize(content.getBytes(),Test.class); return t;}
若是array需要借助Cast类,转换成java对应的对象
public static List<Test> getUnserializeList(String content) throws Exception { List<Test> list = new ArrayList<Test>(); PHPSerializer p = new PHPSerializer(); if (StringUtils.isEmpty(content)) return list; AssocArray array = (AssocArray) p.unserialize(content.getBytes()); for (int i = 0; i < array.size(); i++) { Test t = (Test) Cast.cast(array.get(i), Test.class); list.add(t); } return list;}
阅读全文
0 0
- Java 反序列化 php 序列化后的对象
- java反序列化php序列化的对象
- JAVA对象序列化,反序列化
- JAVA 序列化反序列化对象
- java对象的序列化和反序列化
- Java对象的序列化和反序列化
- Java 对象的序列化与反序列化实践
- Java对象的序列化和反序列化
- Java对象的序列化和反序列化实践
- Java对象的序列化和反序列化
- Java对象的序列化和反序列化
- Java对象的序列化和反序列化实践
- Java对象的序列化和反序列化实践
- Java对象的序列化和反序列化实践
- java对象的序列化和反序列化
- [Java] 对象的序列化和反序列化
- java对象的序列化和反序列化
- Java对象的序列化和反序列化
- ARM-Linux使用ntpdate同步本机时间
- [ Java学习 ] 破除思维定势之 C++ 和 Java 的差异 002
- Jquery.media.js实现网页在线预览pdf文件
- React学习之路(一)
- 微博第三方登录
- java反序列化php序列化的对象
- Tslib-1.4的嵌入式移植
- Spring Boot学习
- 测试
- 第69讲 php面向对象中的析构方法
- mongodb
- thinkphp中的session的使用和理解!
- 【Leetcode-Easy-198】House Robber
- 读写锁实现读写者问题