php使用json代替serialize的想法

date:星期五, 一月 27th, 2012 at 3:49 上午 Categories:php

我需要把一些内容存放在数据库,感觉这些没必要建立字段,于是索性放在数组中序列化后存入数据库.
使用serialize序列化后的字符串很多内容都是不需要的,比如长度信息,数据类型.
感觉平时用的json不错.
打算用json代替,
网上好多结果都是json语serialize的速度比较,这个倒没很大的必要.
需要注意的是 json_decode时返回的是object,需要

json_decode("字符串",ture);

后来发现也不是那么完美..
json_encode会对中文进行编码.如果含有大量的中文,那长度超过了serialize.
这让人很蛋疼,网上给出的办法是对内容进行urlencode,json_enocde后再urldecode

function jsonencode($code){ //新json_encode
 $code = json_encode(urlencodearray($code));//对数组处理
 return urldecode($code);
}
function urlencodearray($data){//urlencode数组
 if(is_array($data)){
 foreach($data as $key=>$val){
 $data[$key] = urlencodearray($val);
 }
 return $data;
 }else{
 return urlencode($data);
 }
}

真是菊花一紧啊….
再这之后还可以进行一次压缩.
当然,如果不考虑内容的可读性,用其他的扩展也不错,比如msgpack,

4 Responses to “php使用json代替serialize的想法”

  1. 番禺女子医院No Gravatar

    博主又更新啦!

    [Reply]

  2. 皇冠网址 - www.2532777.com|j7itykNo Gravatar

    关注博主博客一段时间了,内容很符合我的胃口,以后还会经常来的,…..壬辰年(龙)二月初一 2012-2-22

    [Reply]

  3. 皇冠网址 - www.2532777.com|sfxy95No Gravatar

    博主博客的文章确实很精彩啊,留个脚印下来慢慢阅读,….壬辰年(龙)二月初二 2012-2-23

    [Reply]

  4. 擦机布 - www.xbwes.com|aym9daNo Gravatar

    写的不错,多谢分享,学习了 谢谢楼主。 多更新, 会常光顾的,…壬辰年(龙)二月十二 2012-3-4

    [Reply]

  • 暂无相关日志

Leave a Reply