java反序列化PHP
由于本⼈所在开发的项⽬,前期是由php完成的,这⾥需要对数据库中php序列化的字符串进⾏反序列化。
1、引⼊maven依赖
<!--反序列化 php-->
<dependency>
<groupId>org.sction</groupId>
<artifactId>phprpc</artifactId>
<version>3.0.2</version>
</dependency>
2、反序列化对象⽅法
public static Test getUnserialize(String content) throws Exception {
PHPSerializer p = new PHPSerializer();
if (StringUtils.isEmpty(content))
return null;
Test t =  (Test) p.Bytes(),Test.class);
return t;
}
3、测试结果
4、反序列化对象数组 这⾥的对象是字符串对象
/**
*  对php序列化的字符串,进⾏反序列化
*/
public  List<String> unserializePHParray(String content){
List<String> list = new ArrayList<String>();
PHPSerializer p = new PHPSerializer();
if (StringUtils.isEmpty(content))
return list;
try {
AssocArray array = (AssocArray) p.Bytes());
for (int i = 0; i < array.size(); i++) {
String t = (String) Cast.(i), String.class);
list.add(t);
}
}catch (Exception e){
System.out.println("反序列化PHParray: " + content + " 失败!!!" );
}
return list;
}
5、测试结果
public static void main(String args[]) {
String content ="a:10:{i:0;s:18:\"舞蹈(私教)\";i:1;s:5:\"Zumba\";i:2;s:12:\"完美塑造\";i:3;s:12:\"战⽃有氧\";i:4;s:12:\"杠铃雕塑\";i:5;s:12:\"核⼼特训\";i:6;s:12:\"漫步舞林\";i:7;s:12:\"⾝体平衡\";i:8;s:12:\"⾼效冲击\";i:9;s:12:\"魅⼒热舞\";}";    CoachTool tool = new CoachTool();
List<String> reusltList = tool.unserializePHParray(content);
System.out.println(reusltList);
国外java php
}
输出:[舞蹈(私教), Zumba, 完美塑造, 战⽃有氧, 杠铃雕塑, 核⼼特训, 漫步舞林, ⾝体平衡, ⾼效冲击, 魅⼒热舞]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。