1.1 介绍
福哥道字组词最近在把一部分功能从php转入java编辑出版专业里面,在处理php的序列化(rialize)数据的时候遇到了问题,经过一番折腾找到了一个在java里实现序列化的功能的第三方库。
现在,福哥将这个库的使用方法交给大家!!
首先导入phprpc的依赖库
<dependency><groupid>org.sction</groupid><artifactid>phprpc</artifactid><version>3.0.2</version></dependency>
使用phprializer反序列化经过php序列化过的字符串需要知道目标字符串里存的是什么类型的数据,不同的数据类型是需要使用不同的实体对象去接收反射数据的。
3.1 单字符串类型
原数据就是一个字符串
try{phprializerps=newphprializer();strings;s=(string)ps.unrialize(newstring("s:12:"福哥真好";").getbytes(),stri中国射击队ng.class);returns;}catch(exceptione){e.printstacktrace();}
3.2 单整型类型
原数据就是一个整型数字
try{phprializerps=newphprializer();integers;s=(integer)ps.unrialize(newstring("i:518168;").getbytes(),integer.class);returns;}catch(exceptione){e.printstacktrace();}
3.3 单双精类型
原数据就是一个小数
try{phprializerps=newphprializer();doubles;s=(double)ps.unrialize(newstring("d:518168.99;").getbytes(),double.class);returns;}catch(exceptione){e.printstacktrace();}
3.4 null类型
原数据就是一个null,由于没有类型,反序列化会失败
try{phprializerps=newphpriali火箭兵zer();strings;s=(string)ps.unrialize(newstring("n;").getbytes(),string.class);returns;}catch(exceptione){e.printstacktrace();}
3.5 实体对象类型
如果原数据是一个对象(就是数组的下标为字符串的情况),那么就可以建立同样结构的实体对象,使用这个实体对象可以直接接收数组数据
注意:实体对象必须是public的
3.5.1 实体对象
@datapublicclassmyur{integerid;stringname;stringnote;}
3.5.2 反序列化
try{phprializerps=newphprializer();myurs;s=(myur)ps.unrialize(newstring("a:3:{s:2:"id";i:35;s:4:"name";s:15:"鬼谷子叔叔";s:4:"note";s:1:"s";}").getbytes(),myur.class);returns;}catch(exceptione){e.printstacktrace();}
3.6 数组类型
如果原数据是一个数组(就是数组下标为数字的情况)的话,那么可以使用assocarray类型将结果集先收集起来,然后再使用cast对象将数据转换成java对应的类型
注意:实体对象必须是public的
3.6.1 实体对象
@datapublicclassmytag{integerid;stringtag;}
3.6.2 反序列化
try{phprializerps=newphprializer();list<mytag>s=newarraylist<>();assocarrayaa;aa=(assocarray)ps.unrialize(newstring("a:3:{i:0;a:2:{s:2:"id";i:15;s:3:"tag";s:5:"c/c++";}i:1;a:2:{s:2:"id";i:16;s:3:"tag";s:4:"java";}i:2;a:2:{s:2:"id";i:18;s:3:"tag";s:3:"php";}}").getbytes());for(inti=0;i<aa.size();i+学舞蹈的好处+){s.add((mytag)cast.cast(aa.get(i),mytag.class));}returns;}catch(exceptione){e.printstacktrace();}
可以看到phprializer基本可以满足我们在java反序列化使用php语言序列化的数据结构的需要了。
本文发布于:2023-04-05 07:10:57,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/d3d04a9b5c86214466d54f04e1641b9e.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:php数组序列化函数(php常用数组函数和用法).doc
本文 PDF 下载地址:php数组序列化函数(php常用数组函数和用法).pdf
留言与评论(共有 0 条评论) |