php中serialize后的数据 怎么使用java来解析,java有没有类似PHP中unserialize的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中serialize后的数据 怎么使用java来解析,java有没有类似PHP中unserialize的方法相关的知识,希望对你有一定的参考价值。

php中serialize后的数据 怎么使用java来解析,java有没有类似PHP中unserialize的方法
比如这样的格式:
s:3:"img";s:40:"UF/Uploads/Product/20140627141743600.jpg";s:4:"info";s:0:"";

参考技术A java没有类似的函数,建议使用json格式 参考技术B 这就是一个标准的json串
用jackson-databind包
new ObjectMapper().readValue(json, TypeFactory.rawClass(clazz));
有这个接口追问

介个不是json

追答

奥,没注意,原来是分号,把分号替换成逗号吧

本回答被提问者和网友采纳
参考技术C 你可以试试json格式的,json格式肯定能够解析追问

额 以前系统是php的 现在换java了 要把这个数据读出来.. 换成json格式可以,但是我要怎么把这个东西变成json

php unserialize()不能反序列化时怎么做才能不提示错误

$arr = 'asdasdasd';//随便一不是从数组序列化后的字符串
if(false !== unserialize($arr))
echo '可以反序列化';

else
echo '不能';


但这样还是有错误信息提出
Notice: unserialize() [function.unserialize]: Error at offset......

加@ 可以禁止提示错误 ,但程序会正常运行

如下

if(false !== @unserialize($arr))追问

那样会不会有潜在的危险呢?

追答

不会的啊,

Notice 错误都可以 忽略掉的。 这只不过是一种提示而已 不会影响程序。

你也可以在 公共导入文件最上面里 加上一句
error_reporting(E_ALL ^ E_NOTICE);

这个就是 屏蔽notice错误 而其他错误是 全开 的意思。

大型开源项目里 一般 常见的 代码。

参考技术A @可以去除警告,当然啦这是代码的不严谨

以上是关于php中serialize后的数据 怎么使用java来解析,java有没有类似PHP中unserialize的方法的主要内容,如果未能解决你的问题,请参考以下文章

PHP 求教:二维数组serialize()存入数据库后怎么读出来?

php serialize的长度问题,大神来

PHP数组序列化和反序列化

PHP如何处理jquery post过来的$serialize数据

理解PHP数组的序列化和反序列化

php unserialize()不能反序列化时怎么做才能不提示错误