今天使用POST方式(GET方式也要注意)向PHP提交了一个JSON数据,比如:

{"a":1,"b":2} 

在PHP中取出这个数据:

$s=$_POST['data'] ;//or $_GET['data']

然后这个串取出后是被转义的:

 {\"a\":1,\"b\":2} 

如果直接调用: 

$obj = json_decode($s);  

print_r($obj);  
echo $obj->a;

 是错误的,会报告错误.

如果$s直接定义:

$s='{"a":1,"b":2}';

则没有问题.

所以在PHP中处理JSON时需要进行一下转义处理:

$s=stripslashes($_POST['data']) ;

这样再进行json解码就可以了. 

posted on 2011-06-21 21:11  garfieldtom  阅读(927)  评论(5编辑  收藏  举报