首页 > 后端开发 > php教程 > json - PHP数组序列化后,数据无法反序列化问题,急

json - PHP数组序列化后,数据无法反序列化问题,急

WBOY
发布: 2016-06-06 20:35:59
原创
1467 人浏览过

我将一个数组序列化放到了MySQL里面,然后用PHP获取后,用JSON格式发送出去,接口接受此数据的时候,再将JSON转化为了数组,最后发现这个数组product_list键所对对应的序列化数组不能被反序列化,这是为什么呢?

  1. A数组中的 product_list是数组
  2. 将product_list序列化入库
  3. PHP 查询数据库出来,将整个大数组转换为JSON 发送给接口调用方
    4.请求的接口放将JSON转换为数组,成功转换为数组后,发现数组的 product_list键,所对应
    的反序列化数据转换为数组失败

回复内容:

我将一个数组序列化放到了MySQL里面,然后用PHP获取后,用JSON格式发送出去,接口接受此数据的时候,再将JSON转化为了数组,最后发现这个数组product_list键所对对应的序列化数组不能被反序列化,这是为什么呢?

  1. A数组中的 product_list是数组
  2. 将product_list序列化入库
  3. PHP 查询数据库出来,将整个大数组转换为JSON 发送给接口调用方
    4.请求的接口放将JSON转换为数组,成功转换为数组后,发现数组的 product_list键,所对应
    的反序列化数据转换为数组失败

可能是因为中文编码的缘故。php 反序列化的时候依赖字节长度。
不要用 php 序列化存进去了, 转成 json ,这样通用性也好很多。谁能保证,这些数据是一直被 php 读取呢?

我曾经遇到过这么个情况,同一个字符串,我在本地序列化的结果,跟在远程服务器上序列号的结果不一样。因为对我的系统不影响,所以我没有深究。但是我知道有这种现象会发生:

或许是因为php版本的问题,或许是因为php扩展的问题,更或许是因为编码等等某些原因,在不同的服务器环境中,PHP序列化的结果是不稳定不可靠的

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板