json - PHP数组序列化后,数据无法反序列化问题,急
程序员文章站
2022-04-21 16:32:06
...
我将一个数组序列化放到了MySQL里面,然后用PHP获取后,用JSON格式发送出去,接口接受此数据的时候,再将JSON转化为了数组,最后发现这个数组product_list键所对对应的序列化数组不能被反序列化,这是为什么呢?
- A数组中的 product_list是数组
- 将product_list序列化入库
- PHP 查询数据库出来,将整个大数组转换为JSON 发送给接口调用方
4.请求的接口放将JSON转换为数组,成功转换为数组后,发现数组的 product_list键,所对应
的反序列化数据转换为数组失败
回复内容:
我将一个数组序列化放到了MySQL里面,然后用PHP获取后,用JSON格式发送出去,接口接受此数据的时候,再将JSON转化为了数组,最后发现这个数组product_list键所对对应的序列化数组不能被反序列化,这是为什么呢?
- A数组中的 product_list是数组
- 将product_list序列化入库
- PHP 查询数据库出来,将整个大数组转换为JSON 发送给接口调用方
4.请求的接口放将JSON转换为数组,成功转换为数组后,发现数组的 product_list键,所对应
的反序列化数据转换为数组失败
可能是因为中文编码的缘故。php 反序列化的时候依赖字节长度。
不要用 php 序列化存进去了, 转成 json ,这样通用性也好很多。谁能保证,这些数据是一直被 php 读取呢?
我曾经遇到过这么个情况,同一个字符串,我在本地序列化的结果,跟在远程服务器上序列号的结果不一样。因为对我的系统不影响,所以我没有深究。但是我知道有这种现象会发生:
或许是因为php版本的问题,或许是因为php扩展的问题,更或许是因为编码等等某些原因,在不同的服务器环境中,PHP序列化的结果是不稳定不可靠的。
上一篇: 继承的总结
下一篇: Java自定义日期选择器的实现方法