1) 空间的比较
成都创新互联是一家企业级云计算解决方案提供商,超15年IDC数据中心运营经验。主营GPU显卡服务器,站群服务器,服务器主机托管,海外高防服务器,机柜大带宽、租用·托管,动态拨号VPS,海外云手机,海外云服务器,海外服务器租用托管等。
serialize在编码后大概是json的1.5倍。
原因:
serialize后字符串包含了子串的长度,这可能是速度方面的优化,但是测试结果不尽人意。
serialize有更加详细的类型区分,而json只有四种类型,并且是以简单的符号表示。
2)速度的比较
在较小数据的情况下, serialize比json快数量级。
在大数据量的情况下,json比serialize稍微差一点
3)处理对象
json无法处理对象方法等数据。
4)使用范围
在前后端交互一般都使用JSON,另外,目前JSON只支持UTF-8编码的数据。
序列化使用serialize,特别是对象的存储。这是其存在的意义。
与对象无关的数据存储可以使用json,如包含大量数字的数组等。
这篇博客概括满全面:
// 生成一个PHP数组
$data = array();
$data['name'] = 'admin';
$data['pwd'] = '123456';
// 把PHP数组转成JSON字符串
$json_string = json_encode($data);
// 写入文件
file_put_contents('user.json', $json_string);
// 从文件中读取数据到PHP变量
$json_string = file_get_contents('user.json');
// 把JSON字符串转成PHP数组
$data = json_decode($json_string, true);
// 显示出来看看
var_dump($data)
?php
$jsonStr = file_get_contents("test.json");
$jsonStr = str_replace("var goodsData=[","[",$jsonStr);
$jsonStr = str_replace("];","]",$jsonStr);
$jsonData = json_decode($jsonStr,true);
$data = array();
$data['a'] = 'test';
$data['b'] = '12133';
array_push($jsonData,$data);
$json_string = "var goodsData=".json_encode($jsonData).";";
file_put_contents("test.json",$json_string);
?
返回的就是json字符串,可以直接存入PHP
mysql_query("insert into table(info) values('".$info."')");