希望高手指点一下,小弟不胜感激,我用php输出一段json,但是不明白为什么单独输出图片路径的时候他是可以正确输出,一旦用json_encode以后他就会多出一些东西代码如下
<?php
/*
留言板
*/
$liu=array(array('url'=>'../img/01.jpg','title'=>'三只熊','message'=>'三只熊是我最喜欢的人','timer'=>'2010-06-18'));
echo json_encode($liu);
?>
输出url是有问题的,输出以后是这样的
[{"url":"..\/img\/01.jpg","title":"\u4e09\u53ea\u718a","message":"\u4e09\u53ea\u718a\u662f\u6211\u6700\u559c\u6b22\u7684\u4eba","timer":"2010-06-18"}]
url就多出来了一个\不知道怎么解决!!!谢谢各位高手了

解决方案 »

  1.   

    //转义不影响你使用吧?,
    echo stripslashes(json_encode($liu));//如果你的字符中,比如title => '三"只熊',这样子操作会出错
      

  2.   

    我的函数是这样写的<?php
    /*
    留言板
    */
    $liu=array(array('url'=>'../img/01.jpg','title'=>'三只熊','message'=>'三只熊','timer'=>'2010-06-18'));
    //echo preg_replace("\","",json_encode($liu));
    echo $data=ereg_replace("\\\\","",json_encode($liu)); ?>
    编码是UTF8的
      

  3.   

    echo str_replace('\/', '/', $data=json_encode($liu));//这样试试,不确定后果
      

  4.   

    楼主,我也遇到同样您的问题,想知道您最后是怎么解决的,我这的问题具体是:
    php中的http://117.132.175.229:12001/jhzr_interface/php/upload/201206/201206190519511122.jpg通过json.encode转化成了
    ["http:\/\/117.132.175.229:12001\/jhzr_interface\/php\/upload\/201206\/201206190519511122.jpg"]
    ,这样在接收端(JAVA平台)用JSON解析的话解析出来的应该是["http:\/\/117.132.175.229:12001\/jhzr_interface\/php\/upload\/201206\/201206190519511122.jpg"]而不是最初的正常模式的http://117.132.175.229:12001/jhzr_interface/php/upload/201206/201206190519511122.jpg吧?
    您是怎样解决这一问题的?我看网上遇到此类相关问题的信息太少了。。难道都没怎么遇到过吗?
    务必百忙抽闲回复下~谢谢~